Комбинация Launch4J и Java Web Start?
У меня есть работающее приложение JNLP, которое мне нужно распространять среди различных нетехнических конечных пользователей.
Если на компьютере пользователя установлена последняя версия JVM, все в порядке. Они просто дважды щелкают файл JNLP, который я им отправляю, а Java Web Start делает все остальное.
Теперь я хотел бы распространять то, что работает с или без JVM, например.exe
файл, который автоматически загружает совместимую JVM, если ее нет, затем вызываетjavaws.exe
скачать файлы .jar и запустить приложение.
Launch4J - самое близкое совпадение, которое я нашел, но оно не может запустить программу черезjavaws.exe
, Единственные вариантыjava
а такжеjavaw
Я хотел бы продукт, который может:
Создать автономный.exe
файл, который не требует предварительной установки JVMРазобрать.jnlp
файл и определите правильную JVM для загрузки при необходимости (я знаю, что Java Web Start может загрузить JVM при необходимости, но я хочу избежать необходимости загружать два, первый для загрузки Java Web Start и второй для запуска приложения, которое может потребовать конкретная, но другая JVM.)Загрузите и установите JVM автоматически,не просто направьте пользователя на страницу загрузки Java или откройте новый мастер установки.При необходимости запросите пароль администратора (для разрешения на установку JVM. Я не думаю, что он встроен в установщики Sun JVM.)Показывать только одно диалоговое окно безопасности (я бы хотел один раз попросить пользователя подтвердить, что он доверяет сгенерированному.exe
, но я не хочу второй подсказки, чтобы подтвердить, что они доверяют.jar
файл, который будет из того же источника и подписан тем же сертификатом.) Я предполагаю, что для этого потребуется автозагрузчик установить сертификат перед запуском JWS.)(необязательно) Загрузите ресурсы приложения (например,.jar
файлы) в фоновом режиме одновременно с JVM. Это потребовало бы, чтобы кэш работал до установки JVM, поэтому кэш должен быть реализован в собственном коде иDownloadService
позже будет взаимодействовать с ним с помощью JNI.Существует ли такой продукт? Я подозреваю, что это не так, но это стоит того.
Обновить я нашелЭта статья которая имеет решения для некоторых связанных проблем, хотя она предназначена для автономной установки, и я в основном занимаюсь онлайн-установкой.