Назад | Перейти на главную страницу

Как запустить программу, помеченную как требующую повышения прав через UAC, без фактического повышения прав в Windows 7?

У меня есть программа, в частности установщик, который отмечен как требующий повышения прав с использованием подхода highAvailable. Я использую учетную запись администратора с UAC на самом высоком уровне.

Можно ли запустить эту программу без предоставления ей прав администратора?

Другой пример такой программы - это стандартный файл regedit.exe, я могу с радостью запустить его под обычным пользователем без каких-либо запросов UAC, но не могу запустить его в учетной записи администратора без повышения прав.

Интересует в основном Windows 7, но не помешало бы иметь решение для Vista.

Из Суперпользователь:

Для всех приложений, в манифесте которых указано значение requiredPrivilegeLevel = "highLevel", вы можете использовать Microsoft Application Compatibility Toolkit 3, чтобы установить в приложение исправление RunAsInvoker, которое заставляет приложение работать с вашими стандартными пользовательскими токенами.

Также вы можете определить недокументированную переменную окружения __COMPAT_LAYER.

Из командной строки cmd.exe:

set __COMPAT_LAYER=RunAsInvoker
mycommand.exe

Если приложение скомпилировано для повышения прав, оно всегда будет запрашивать.

Чтобы ничего не отображалось, вам нужно изменить настройки UAC.