Einzelnen Beitrag anzeigen

Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#15

Re: Vista und die Dateierweiterung (UAC "On-Demand"

  Alt 30. Jun 2009, 11:14
Zitat von MCXSC:
Zitat von mirage228:
Vielleicht hilft Dir ja dieser Artikel darüber:
http://blog.delphi-jedi.net/2008/03/...ta-with-jwscl/
Nachdem ich mir das ganze nochmals angesehen habe: Nein, leider nicht wirklich. Hier müsste man ja - sofern ich den Ansatz richtig verstehe - nochmals mittels Adminrechte eine COM registrieren... Dann kann ich direkt das ganze Programm so mit Adminrechten starten lassen.

Nur gibt es manche "One-EXE-Programme", die anfangs keine Abfrage haben (und dementsprechend auch keine COM-Datei registrieren) und trotzdem nur für bestimmte Funktionen explizit Adminrechte anfordern. Bringt Vista da wirklich keine eigene Abfrage mit?
So, wie ich es sehe, hast du den Artikel nicht verstanden. Er beschreibt nämlich zwei mögliche Ansätze, um Elevation zu nutzen. Der erste Ansatz ist der ShellExecute Ansatz mit dem runas-Verb, welches auf die eigene Exe-Datei angewendet wird (du hast sie "One-EXE-Programme" genannt). Der zweite Ansatz nutzt dann erst COM, um mit seiner Hilfe spezielle Methoden mit Adminrechten auszuführen.

Der erste Ansatz hat den Vorteil, dass es Addhoc geht, also keine Installation notwendig ist. Der Nachteil besteht jedoch darin, dass die Kommunikation auwändig ist. Wurde alle richtig ausgeführt? Was ist mit den Resultaten? Da wirst du nicht um eine Interprozesskommunikation herumkommen, wenn du dich nicht auf den Prozessrückgabewert beschränken willst.
Der zweite Ansatz, wie du schon weißt, hat den Nachteil, dass man ein COM-Objekt bei Windows registrieren muss. Die Windowsinstaller (MSI) besitzen jedoch schon einen Dienst, der es ermöglicht, dass erst bei einer Notwendigkeit, die UAC aufpoppt (z.b. vor dem Dateikopieren). Der Vorteil im zweiten Ansatz besteht darin, dass man eine ganz normale Methode aufruft und alle Daten, die als Parameter übergeben oder von der Methode zurückgeliefert werden, von COM (mit Einschränkungen) verwaltet werden.
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat