Ich muss eine Anwendung erstellen, die Dateien/Ordner in "C: \ Programme", "Benutzer [Benutzername]" und Sys32 erstellen muss. Außerdem muss die Anwendung einige Registrierungseinträge machen.Wie führe ich eine Anwendung mit Admin-Rechten mit der Manifest-Datei in Visual Studio 2005 aus?
Diese Anwendung muss unter Vista und höher funktionieren. Auch unter Windows Server 2003 und höher.
Die oben genannten Betriebssysteme haben das Konzept der Benutzerkontensteuerung (User Account Control, UAC), wo auf Programmdateien zugegriffen werden kann und das Schreiben in der Registrierung Administratorrechte erfordert.
Ich schaute in viele Foren und festgestellt, dass mit Microsoft SDK können wir überprüfen, ob der aktuelle Benutzer Administratorrechte haben oder nicht. Aber die Funktion "CheckTokenMembership" schlägt für Vista und höhere Versionen von OS fehl.
Ich fand auch eine Lösung, wo Manifest-Datei verwendet werden kann, um OS im Voraus zu sagen, dass die aktuelle Anwendung Administratorrechte benötigt. Dies geschieht mit dem Tag "requestedExecutionLevel".
Ich verwende Visual Studio 2005, um die Anwendung zu erstellen. Wenn wir eine Anwendung in Visual Studio erstellen, wird eine Standardmanifestdatei erstellt. Kann ich diese Manifestdatei so ändern, dass sie das Tag "requestedExecutionLevel" enthält, sodass meine Anwendung immer mit Administratorrechten ausgeführt wird?
Gibt es eine andere Methode, durch die meine Anwendung mit Administratorrechten ausgeführt wird, ohne den Benutzer (admin oder Standard) zu bitten, meine Anwendung als "run as admin" auszuführen?
Danke!
Dies Ihnen helfen kann http://stackoverflow.com/questions/8139480/c-console-application-prompt-run-as-admin-to-run-as-administrator und diese http: //msdn.microsoft.com/en-us/library/bb756929.aspx –
Nicht sicher, was Ihre Frage ist/war. Aber Sie müssen Ihr Token unter UAC auf admin setzen. Wenn Sie sich die Zeit genommen hätten, das Microsoft SDK und den Beispielcode zu lesen, hätten Sie ein perfektes Beispiel dafür. – Dan