У меня есть файл, который, когда я его запускаю, запрашивает разрешения администратора. Как я могу отключить это, чтобы я мог использовать его на других компьютерах?
1 ответ
Попробуйте запустить программу из командного файла, который сначала устанавливает переменную среды
set __COMPAT_LAYER=RunAsInvoker
и проверьте, работает ли он как первоначальный пользователь (без необходимости повышения прав). Обратите внимание, что даже если вы работаете без повышения, это не значит, что так будет работать .
Если да, есть три возможные причины, по которым эта программа требует повышения
- Волшебное имя файла жестко запрограммировано в Windows (например, setup.exe, install.exe)
- Рядом с файлом находится манифест (у
somefile.exe
естьsomefile.exe.manifest
), который требует повышенных прав - Файл имеет встроенный манифест, который требует повышенных прав
Первый легко решить (переименовать), второй (удалить манифест), а третий - извлечь манифест с помощью инструмента извлечения ресурсов (который сделает недействительной цифровую подпись, если таковая имеется).
Если нет, программа проверяет наличие привилегий и запускает диалог вручную (по коду). В том случае, если у вас нет исходного кода для перекомпиляции приложения, вам не повезло.