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