8

При попытке запустить установочный файл Jar, я получаю сообщение об ошибке, в котором говорится, что доступ на запись запрещен для создания каталога в папке Program Files.

Щелчок правой кнопкой мыши -> Запуск от имени администратора недоступен в файлах Jar (я полагаю, потому что их использует Java.exe - сами они не рассматриваются как исполняемые оболочкой напрямую).

Какой самый быстрый и простой способ запустить.JAR файл с возвышением?

Я оцениваю этот инструмент, чтобы рекомендовать его для нашей команды разработчиков, и они вручную установят его на свои боксы. Я бы предпочел вариант, который не требует, чтобы они что-либо печатали.

2 ответа2

6

Чтобы другим было легко запускать установщик JAR без необходимости вносить изменения на всех своих компьютерах, вы, вероятно, захотите обернуть его пакетным скриптом, который поднимает и запускает файл JAR. Вы можете легко сделать это с помощью Elevation PowerToys от Microsoft. Они включают в себя полезную утилиту, которая позволяет запускать что-либо от имени администратора, просто добавляя к нему префикс с помощью команды elevate .

Как только вы загрузили их, извлеките их в папку и скопируйте elevate.cmd и elevate.vbs в папку с файлом JAR. Затем напишите новый пакетный скрипт с расширением .cmd со следующим содержимым:

elevate cmd /c start "%CD%\installer.jar"

Это запустит файл JAR с обработчиком по умолчанию для таких файлов в их системе (с помощью команды start cmd). %CD% указывает на текущий рабочий каталог скрипта и необходим, потому что командная строка с повышенными привилегиями будет запускаться в c:\windows\system32 .

Если по какой-то причине Java не настроена должным образом в качестве обработчика по умолчанию для файлов JAR, это может привести к сбою. Если вы можете рассчитывать на то, что Java находится в одном и том же месте во всех системах, вы можете сделать это следующим образом:

elevate "c:\Program Files\Java\jre\bin\java.exe" -jar "%CD%\installer.jar"

После того, как вы выполнили одно из этих действий, просто запустите командный файл, и Windows запросит повышение прав администратора и запустит установщик.

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

Для получения дополнительной информации о Elevation PowerToys см. Связанную статью или файл README, включенный в загрузку.

2

Я только что имел возможность сделать это и обнаружил, что самым простым способом, без необходимости загружать и устанавливать Elevation PowerToys, было запустить cmd.exe от имени администратора и затем вызвать java.exe -jar 'installer.jar' из командная строка. Конечно, сначала мне нужно было найти java.exe, но это не заняло много времени ...

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