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