Forum: PC-Programmierung Windows UAC: Kann ein schon laufender Prozess nach erweiterten Rechten fragen?


von Klaus (Gast)


Lesenswert?

Moin,

ich habe hier ein Installationsprogramm geschrieben. Dabei bereitet mit 
das Rechtemanagement etwas Probleme.

Je nachdem, ob man das Programm in den Programmordner oder irgendwo 
anders hin installiert, braucht man ja Adminrechte, oder ebend nicht.

Ich würde das ganze nun gerne so bauen, dass der Installer nur genau 
dann nach Adminrechten fragt, wenn er sie auch braucht. Dazu müsste ich 
in C++ im Programm nach erweiterten Rechten fragen können, wenn 
festgestllt wird, dass mit den aktuellen Rechten die Dateien nicht 
geschrieben werden können.

Wie man im Manifest angibt, dass Adminrechte gebraucht werden, weiß ich. 
Aber ich brauch ja nicht immer Adminrechte. Auch könnte das 
Installationsprogramm einen neuen Prozess mit runas mit höheren Rechten 
starten. Aber kann ich auch einem laufenden Prozess neue Rechte 
verschaffen?

von Purzel H. (hacky)


Lesenswert?

Eigentlich keine Frage. Programme in den Programmordner, mit den 
Adminrechten. Die zugehoerigen Daten in den Datenordner, mit den 
Benutzerrechten. Was ist daran so schwierig ?

von René K. (king)


Lesenswert?

Du kannst einen laufenden Prozess nicht nachträglich elevaten. Du kannst 
den Prozess lediglich neu starten, dann aber eben elevated. Das Beispiel 
"RunAsAdmin" zeigt, wie es funktioniert:
http://msdn.microsoft.com/en-us/library/bb756922.aspx

Davon ab: Pack das Ganze in ein MSI Paket und gut ist es. ;-)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.