Влияние контроля учетных записей на приложение
Функция контроля учетных записей в Windows Vista используется для назначения учетным записям ограниченных привилегий. Подробные сведения о функции контроля учетных записей см. на следующих веб-сайтах:
Сборка проектов после включения контроля учетных записей
Если вы создаете проект Visual Studio C++ в Windows Vista с отключенным UAC, а затем включите UAC, необходимо очистить и перестроить проект, чтобы он работал правильно.
Приложения, для которых требуются права администратора
По умолчанию компоновщик Visual C++ внедряет фрагмент UAC в манифест приложения с уровнем asInvoker
выполнения. Если для корректного выполнения приложения требуются права администратора (например, если в приложении изменяется узел HKLM реестра или выполняется запись в защищенные разделы диска, такие как каталог Windows), необходимо изменить приложение.
Первым вариантом является изменение фрагмента манифеста для изменения уровня выполнения, требующегоAdministrator. В этом случае перед выполнением приложения отображается запрос на ввод учетных данных администратора. Сведения о том, как это сделать, см. в разделе /MANIFESTUAC (Внедрение сведений об UAC в манифесте).
Во-вторых, можно отменить внедрение фрагмента функции контроля учетных записей в манифест, указав параметр компоновщика /MANIFESTUAC:NO
. В этом случае приложение выполняется в режиме виртуализации. Любые изменения, вносимые в реестр или файловую систему, не сохраняются после завершения работы приложения.
На следующей блок-схеме описывается порядок выполнения приложения в зависимости от использования функции и манифеста контроля учетных записей приложения: