Как избавиться от UAC при каждом запуске приложения

Я подписал свое приложение с Verisign, сохранил все переменные реестра в HKCU, чтобы не запрашивать права администратора, но команда UAC по-прежнему запрашивает у пользователя, хочет ли он, чтобы следующие изменения внесли в его / ее компьютер. Как мне предотвратить это?

Ниже показан файл манифеста, сгенерированный VS

   <?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level='asInvoker' uiAccess='false' />
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentAssembly>
<assemblyIdentity type='win32'              name='Microsoft.Windows.Common-Controls'        version='6.0.0.0'                               processorArchitecture='x86'                   publicKeyToken='6595b64144ccf1df'               language='*' />
</dependentAssembly>
</dependency>
</assembly>

1

Решение

Как я подозревал, объяснение этого поведения находится в манифесте приложения. Вы указали запрошенный уровень выполнения requireAdministrator, Именно эта настройка приводит к отображению диалога UAC. Изменить это на asInvoker чтобы избежать запроса высоты.

....
<requestedExecutionLevel level='asInvoker' uiAccess='false' />
....

Вполне может быть настройка в Visual Studio IDE для управления этим. Я не знаком с этим, но я ожидаю, что именно так вы должны осуществить эти изменения. Хорошо, я посмотрел это. Параметр IDE находится в узле компоновщика страниц конфигурации в разделе файла манифеста. Документацию об этом можно найти здесь: http://msdn.microsoft.com/en-us/library/bb384691.aspx

Прочитать о приложение проявляется на MSDN.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]