Это выполнимо, но не легко объяснить.
Существует только три причины, по которым приложение запрашивает повышение прав при запуске:
- на вкладке Compatibilty есть «Запустить эту программу от имени администратора»
- приложение имеет манифест (встроенный или внешний), который указывает
requireAdministrator
- есть обновление совместимости от Microsoft, которое пометило его как нужного администратора
Предполагая, что вы уже проверили вкладку совместимости, и приложение не требует администратора:
Следующим шагом является проверка наличия встроенного манифеста ресурса. Я не буду вдаваться в то, как вы можете это выяснить. Но пропустите, чтобы создать манифест для себя.
Создайте файл в том же каталоге, что и Fallout Mod Manager (я не знаю, как exe
он называется, но я его назову FalloutModManager.exe
:
FalloutModManager.exe FalloutModManager.exe.manifest
Этот новый manifest
файл, который вы создаете, представляет собой простой текстовый файл, содержащий xml, с записью манифеста, в которой говорится, что мы хотим запустить asInvoker, а не requireAdministrator :
FalloutModManager.exe.manifest
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="client" type="win32" /> <description>Poorly written Fallout Mod Manager fails on XP as standard user</description> <!-- Disable file and registry virtualization, and don't require elevation --> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> <security> <requestedPrivileges> <requestedExecutionLevel level="asInvoker" uiAccess="false"/> </requestedPrivileges> </security> </trustInfo> </assembly>
Наличие этого файла рядом с вашим исполняемым файлом называется « внешним манифестом ». Также возможно, что исполняемый файл имеет встроенный ресурс, который вам понадобится, например, инструмент Resource Hacker, чтобы увидеть или изменить.