Поделиться через


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

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

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

Чтобы обеспечить корректную работу проекта C++ для Windows Vista, построенного при отключенном контроле учетных записей, после включения контроля следует выполнить очистку и повторное построение проекта.

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

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

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

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

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

Поведение загрузчика Windows Vista

См. также

Основные понятия

Рекомендации по безопасности для C++