2012-09-29 5 views
14

Ich habe "highestAvailable" in meinem Manifest verwendet. Aber in standard user and UAC ON erhöht es nicht die exe.Unterschied zwischen "highestAvailable" und "requireAdministrator" in Manifest in Bezug auf Elevation?

Ist dies das Verhalten von "highestAvailable"?

I bezeichnet diese MSDN link aber es ist nicht klar, ob „highestAvailable“ die exe erheben wird oder nicht. Meine Anforderung ist, die exe zu erhöhen, wenn UAC eingeschaltet ist.

Ich habe zu "requireAdministrator" geändert und meine Exe wird im Standardbenutzer mit aktivierter Benutzerkontensteuerung erhöht.

Kann jemand mir erklären, im Detail über die Erhebung Verhalten dieser beiden Optionen „highestAvailabe“ und „requireAdministrator“?

+1

highestAvailable ist nur das, die höchste verfügbare Berechtigung; Der Benutzer ist ein Standardbenutzer, das ist also der höchste Wert. Wenn Sie immer Administratorberechtigungen benötigen, verwenden Sie requireAdministrator. – CMircea

Antwort

20

highestAvailable wird erheben, wenn der aktuelle Benutzer ein Administrator ist. Was mit dem übereinstimmt, was Sie beobachtet haben. Wenn ein Standardbenutzer den Prozess ausführt, wird kein UAC-Dialogfeld angezeigt und der Prozess wird mit dem Standardtoken ausgeführt. Wenn ein Benutzer mit Administratorrechten ausgeführt wird, wird das Dialogfeld für die Zustimmung der Benutzerkontensteuerung angezeigt, und der Prozess wird dann mit erhöhten Rechten ausgeführt.

Wenn Ihr Programm Administratorrechte benötigt, müssen Sie requireAdministrator verwenden. Wenn ein Standardbenutzer einen solchen Prozess startet, wird über die Schulter UAC-Dialog angezeigt. Das gibt dem Benutzer die Möglichkeit, einen Administrator nach seinen Anmeldeinformationen zu fragen.

Sie sollten nur highestAvailable verwenden, wenn Ihr Programm mit einer eingeschränkten Funktionalität ausgeführt werden kann, falls der Benutzer nicht in der Lage ist zu erhöhen. Dies ist mit Mixed-Modus in dem MSDN-Thema gemeint, das durch Ihre Frage verknüpft ist.

+1

Ein Beispiel für 'highestAvailable' ist der Registrierungseditor, der wie alle Benutzer ausgeführt werden kann, aber für Benutzer mit Administratorberechtigung benötigt er vollen Zugriff als dieser Benutzer. – Deanna

+0

Das bedeutet, dass Sie * dieses Programm nicht als eingeschränkt ausführen können, wenn Sie Administrator sind, nicht wahr? – Medinoc

+0

@Medinoc Das ist richtig. Ein Beispiel für ein auf diese Weise konfiguriertes Programm ist regedit. –