Влияние контроля учетных записей на приложение

Функция контроля учетных записей в Windows Vista используется для назначения учетным записям ограниченных привилегий. Подробные сведения о функции контроля учетных записей см. на следующих веб-сайтах:

Сборка проектов после включения контроля учетных записей

Если вы создаете проект Visual Studio C++ в Windows Vista с отключенным UAC, а затем включите UAC, необходимо очистить и перестроить проект, чтобы он работал правильно.

Приложения, для которых требуются права администратора

По умолчанию компоновщик Visual C++ внедряет фрагмент UAC в манифест приложения с уровнем asInvokerвыполнения. Если для корректного выполнения приложения требуются права администратора (например, если в приложении изменяется узел HKLM реестра или выполняется запись в защищенные разделы диска, такие как каталог Windows), необходимо изменить приложение.

Первым вариантом является изменение фрагмента манифеста для изменения уровня выполнения Администратор istrator. В этом случае перед выполнением приложения отображается запрос на ввод учетных данных администратора. Сведения о том, как это сделать, см. в разделе /MANIFESTUAC (Внедрение сведений об UAC в манифесте).

Во-вторых, можно отменить внедрение фрагмента функции контроля учетных записей в манифест, указав параметр компоновщика /MANIFESTUAC:NO. В этом случае приложение выполняется в режиме виртуализации. Любые изменения, вносимые в реестр или файловую систему, не сохраняются после завершения работы приложения.

На следующей блок-схеме описывается порядок выполнения приложения в зависимости от использования функции и манифеста контроля учетных записей приложения:

Flowchart of Windows Loader behavior.

См. также

Рекомендации по безопасности