У меня есть программа, в частности установщик, который отмечен как требующий повышения прав с использованием подхода 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.