Wie Benutzerkontensteuerung (UAC) die Anwendung beeinflusst

Benutzerkontensteuerung (UAC) ist eine Funktion von Windows Vista, in der Benutzerkonten eingeschränkte Berechtigungen haben. Ausführliche Informationen über UAC finden Sie auf diesen Sites:

Erstellen von Projekten nach der Aktivierung von UAC

Wenn Sie ein Visual Studio C++-Projekt unter Windows Vista mit deaktiviertem UAC erstellen und später UAC aktivieren, müssen Sie das Projekt sauber und neu erstellen, damit es ordnungsgemäß funktioniert.

Anwendungen, die Administratorrechte erfordern

Standardmäßig bettet der Visual C++-Linker ein UAC-Fragment in das Manifest einer Anwendung mit einer Ausführungsebene ein asInvoker. Wenn die Anwendung für die ordnungsgemäße Ausführung Administratorrechte erfordert (wenn sie z. B. den HKLM-Knoten der Registrierung ändert oder in geschützte Bereiche des Datenträgers wie z. B. das Windows-Verzeichnis schreibt), müssen Sie die Anwendung ändern.

Die erste Option besteht darin, das UAC-Fragment des Manifests zu ändern, um die Ausführungsebene zu ändern, um "requireAdministrator" zu ändern. Die Anwendung fordert dann den Benutzer vor der Ausführung zur Angabe von Administratorrechten auf. Informationen dazu finden Sie unter /MANIFESTUAC (Einbetten von UAC-Informationen im Manifest).

Die zweite Option besteht darin, durch Angabe der /MANIFESTUAC:NO-Linkeroption kein UAC-Fragment einzubetten. In diesem Fall wird die Anwendung virtualisiert ausgeführt. Änderungen, die Sie an der Registrierung oder am Dateisystem vornehmen, werden nach Beendigung der Anwendung nicht beibehalten.

Im folgenden Flussdiagramm wird beschrieben, wie die Anwendung abhängig davon ausgeführt wird, ob UAC aktiviert ist und ob die Anwendung ein UAC-Manifest besitzt:

Flowchart of Windows Loader behavior.

Siehe auch

Empfohlene Vorgehensweisen bezüglich der Sicherheit