C# – Programm automatisch mit Administratorrechten neu starten

Da ich es gerade mal wieder brauchte: Wie erreicht man, dass sich ein Programm selbst mit Administratorrechten neu startet?

Dazu zunächst eine kleine Abfrage, ob man bereits über entsprechende Berechtigungen verfügt (Zeile 1-2)
Dann setzt man den Pfad zur eigenen ausführbaren Datei zusammen (Zeile 5) //Hierfür gibt’s wahrscheinlich 100 verschiedene Möglichkeiten
Dann startet man sich selbst mit Adminrechten neu (Zeile 8)
Und beendet abschließend das bereits laufende Programm (Zeile 11)

Der eigentlich Start mit Adminrechten ist dann (abgesehen vom UAC Fenster) ziemlich unspektakulär:

Done;

Gibts noch bessere Möglichkeiten? Ich bin für alles offen (und schiele mal so Richtung Sven, der es sich zum Hobby gemacht hat mich zu korrigieren 😉 )

Kolja Engelmann

Technikfan, Freizeitprogrammierer, selbsternannter Toolking und vermutlich größter Drachenfan Deutschlands blogged hier die Lösungen zu IT-Problemen die ihm über den Weg laufen, kleine Softwaretools, nostalgische Anfälle und missbraucht das Ganze gern auch mal als privates Tagebuch und Fotoalbum.

Das könnte Dich auch interessieren...

3 Antworten

  1. Matthias sagt:

    Als Alternative: Man könnte auch ein app.manifest im Visual Studio anlegen, so dass die Anwendung sich nur mit Administratorrechten starten lässt. Erspart die Neustarterei und durch die UAC bekommt die Anwendung unter Vista und 7 auch gleich das entsprechende kleine Zusatz-Icon – man sieht also direkt, dass Adminrechte benötigt werden. Beim Starten kommt dann der Elevation-Dialog (falls die UAC nicht deaktiviert wurde).

    Und ich finde die Zeile 2 im obigen Beispiel überflüssig, da Du den Variablenwert in der Condition gar nicht verwendest. Die Vergleiche auf „== true“ usw. sind Geschmacksache 🙂

    Liebe Grüße,
    Matthias

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.