У меня есть файл, который, когда я его запускаю, запрашивает разрешения администратора. Как я могу отключить это, чтобы я мог использовать его на других компьютерах?

1 ответ1

2

Попробуйте запустить программу из командного файла, который сначала устанавливает переменную среды

set __COMPAT_LAYER=RunAsInvoker

и проверьте, работает ли он как первоначальный пользователь (без необходимости повышения прав). Обратите внимание, что даже если вы работаете без повышения, это не значит, что так будет работать .

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

  • Волшебное имя файла жестко запрограммировано в Windows (например, setup.exe, install.exe)
  • Рядом с файлом находится манифест (у somefile.exe есть somefile.exe.manifest), который требует повышенных прав
  • Файл имеет встроенный манифест, который требует повышенных прав

Первый легко решить (переименовать), второй (удалить манифест), а третий - извлечь манифест с помощью инструмента извлечения ресурсов (который сделает недействительной цифровую подпись, если таковая имеется).

Если нет, программа проверяет наличие привилегий и запускает диалог вручную (по коду). В том случае, если у вас нет исходного кода для перекомпиляции приложения, вам не повезло.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .