Чтобы другим было легко запускать установщик 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, включенный в загрузку.
Я только что имел возможность сделать это и обнаружил, что самым простым способом, без необходимости загружать и устанавливать Elevation PowerToys, было запустить cmd.exe от имени администратора, а затем вызвать
java.exe -jar 'installer.jar'
из командной строки. Конечно, сначала мне нужно было найти java.exe, но это не заняло много времени ...источник
installer.jar
. Он автоматически найдет программу «Открыть с помощью», которая по умолчанию уже установленаjava.exe
. (Если бы не было, двойной щелчок на .jar не запустил бы его в первую очередь.)