Подтвердить что ты не робот

Разница между "highAvailable" и "requireAdministrator" в манифесте с точки зрения Elevation?

Я использовал "highAvailable" в манифесте exe. Но в standard user and UAC ON его не поднимают exe.

Это поведение "highAvailable"?

Я упомянул эту ссылку MSDN, но неясно, будет ли "highavailable" поднять exe или нет. Мое требование - поднять exe, если UAC включен.

Я изменил на "requireAdministrator", и мой exe получает повышение в стандартном пользователе с включенным UAC.

Может кто-нибудь объяснить мне подробно о поведении этих двух вариантов: "highAvailabe" и "requireAdministrator"?

4b9b3361

Ответ 1

highestAvailable будет повышаться, если текущий пользователь является администратором. Это соответствует тому, что вы наблюдали. Когда стандартный пользователь запускает этот процесс, диалог UAC не отображается, и процесс выполняется со стандартным токеном. Когда пользователь-администратор выполняет, отображается диалог согласия UAC, и процесс затем будет выполняться с повышением.

Если ваша программа требует прав администратора для работы, вам необходимо использовать requireAdministrator. Когда стандартный пользователь запускает такой процесс, отображается диалоговое окно UAC с избыточным плечом. Это дает пользователю возможность попросить администратора предоставить свои учетные данные.

Вы должны использовать highestAvailable, если ваша программа может работать с ограниченной функциональностью, если пользователь не может поднять. Это то, что подразумевается под смешанным режимом в теме MSDN, связанной вашим вопросом.