Экран с символом центра безопасности и значком моего приложения

#windows-7 #uac

#windows-7 #uac

Вопрос:

Я разработал приложение, для выполнения которого требуются права администратора. При запуске приложения в Windows 7 пользователь всегда должен запускать приложение как «Запуск от имени администратора», в противном случае мое приложение запрашивает пользователя о том, что «у вас нет прав администратора и т.д. …». Это нормально и понятно из-за UAC в Windows 7.

Чтобы избавиться от этого, пользователь должен установить для приложения значение «Запуск от имени администратора». Я обновил «app.manifest» моего приложения и установил

 <requestedExecutionLevel level="highestAvailable" uiAccess="false" /> 
  

Который выполнил работу за меня.

Но теперь рядом со значком моего приложения появляется экран с символом центра безопасности. Теперь мой вопрос: «Почему этот значок появляется в моем приложении и что он обозначает?»

Я попытался пометить другое из моих приложений как «Всегда запускаемое от имени администратора» через Windows, но тот же значок не появился в этом приложении.

Я хочу понять причины и сценарии.

Ответ №1:

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

Экран появляется, если у вас есть манифест, который запрашивает повышение прав (требуется администратор или самый высокий уровень доступности, но не если в вашем манифесте указан asInvoker), а также для определенных имен файлов. Более подробную информацию смотрите в моей записи в блоге (написана во времена Vista, но все еще применима к Windows 7) и статьях MSDN о UAC и руководствах по пользовательскому интерфейсу.