исполняемый файл launch4j с определенным именем запускает Windows UAC - PullRequest
1 голос
/ 08 февраля 2012

Я создаю исполняемый для Windows EXE-файл моей java-программы с заданием ANT для launch4j в Eclipse и назвал его «MyApp.exe». Мне нужно, чтобы эта программа работала без аутентификации администратора в системах Windows. Пока это работает. Он просто работает без всякого запроса UAC.

НО: если я переименую этот EXE-файл в «install.exe», «setup.exe» или «updater.exe» в моей задаче launch4j ANT, появится значок UAC (справа внизу с наложением значка программы), и я получу Запрос UAC при запуске программы (только в Windows Vista или 7). Это также происходит, если я переименую программу в проводнике Windows.

same program, renamed via windows explorer

Похоже, что в именах файлов есть "зарезервированные слова", которые заставляют Windows запускать программу с повышенными правами доступа (UAC).

Может кто-нибудь подтвердить эту проблему? Неужели я не могу назвать свое приложение "install.exe" или "update.exe"?

Ответы [ 2 ]

3 голосов
/ 06 января 2013

ДА, в именах файлов есть зарезервированные слова, которые вызывают UAC.

@ eee постет это как комментарий:

MSDN:

Значок наложения: в Windows Vista, если исполняемый файл требует высота, чтобы начать, то значок исполняемого файла должен быть "штамп" со значком щита, чтобы указать этот факт. ... Наложение значка щита также будет автоматически помещен в исполняемые файлы, которые считаются требует повышения в соответствии с эвристикой обнаружения установщика. За Например, файл с именем setup.exe автоматически получит щит наложение значка, даже если исполняемый файл не имеет встроенного манифест приложения.

http://msdn.microsoft.com/en-us/library/bb530410.aspx

1 голос
/ 24 ноября 2013

Это поведение контролируется групповой политикой.

Если Контроль учетных записей: обнаружение установок приложений и запрос на повышение прав доступа установлен на Отключено, тогда эти имена файлов перестают быть специальными.

Конечно, если вы называете файлы для использования на компьютерах, которые не находятся под вашим контролем, вы все равно должны держаться подальше от распознанных имен.

...