Wie kann ich erzwingen, dass meine .NET-Anwendung als Administrator ausgeführt wird?
Wie erzwinge ich nach der Installation meines Programms auf einem Client-Computer, dass mein Programm unter Windows 7 als Administrator ausgeführt wird?
838
3
Sie müssen das Manifest ändern, das in das Programm eingebettet wird. Dies funktioniert mit Visual Studio 2008 und höher: Projekt + Neues Element hinzufügen, wählen Sie "Anwendungsmanifestdatei". Ändern Sie das Element `` in:
Der Benutzer erhält die UAC-Eingabeaufforderung, wenn er das Programm startet. Verwenden Sie sie mit Bedacht; ihre Geduld kann schnell erschöpft sein.
Das Hinzufügen eines
requestedExecutionLevel
-Elements zu Ihrem Manifest ist nur die halbe Miete; Sie müssen bedenken, dass UAC ausgeschaltet werden kann. Wenn dies der Fall ist, müssen Sie die Prüfung auf die alte Art und Weise durchführen und einen Fehlerdialog anzeigen, wenn der Benutzer kein Administrator ist(rufen Sie
IsInRole(WindowsBuiltInRole.Administrator)
für denCurrentPrincipal
Ihres Threads auf).Sie können eine Manifestdatei in die EXE-Datei einbetten, die Windows (7 oder höher) veranlasst, das Programm immer als Administrator auszuführen.
Weitere Einzelheiten finden Sie in Schritt 6: Erstellen und Einbetten eines Anwendungsmanifests (UAC) (MSDN).