Запуск приложения с ограниченными привилегиями в Windows

Иногда некоторые приложения при запуске требуют привилегий администратора, которые им давать совершенно не хочется. С некоторыми извращениями всё-таки можно запустить их с привилегиями текущего пользователя.

Открываем свойства ярлыка для запуска приложения, и в строке запуска в начало дописываем следующее:

1
%ComSpec% /C set __COMPAT_LAYER=RunAsInvoker && start ""

Таким образом, если у вас изначально в ярлыке было "C:\Program Files (x86)\RaidCall\raidcall.exe", после изменения получится так:

1
%ComSpec% /C set __COMPAT_LAYER=RunAsInvoker && start "" "C:\Program Files (x86)\RaidCall\raidcall.exe"

Дополнительно стоит поправить иконку ярлыка.

Не исключено, что UAC по-прежнему будет выдавать запрос на предоставление приложению дополнительных прав, но теперь можно спокойно нажимать “Нет” — приложение запустится.

UPD. Вот гораздо более удобный способ.

1
2
3
4
5
6
7
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\forcerunasinvoker]
@="Run without admin rights (UAC)"

[HKEY_CLASSES_ROOT\*\shell\forcerunasinvoker\command]
@="cmd /min /C \"set __COMPAT_LAYER=RUNASINVOKER && start \"\" \"%1\"\""

Комментарии