Как передать параметр из модуля запуска в программу обновления с помощью Install4J
У нас есть установщик, который устанавливает два модуля запуска. Каждый модуль запуска запускает один модуль обновления, одинаковый для двух модулей запуска. В конце процесса обновления, то есть в конце установки, когда это необходимо, мы хотели бы запустить хороший лаунчер, то есть тот, который был ранее запущен.
Можно ли это сделать, например, с передачей параметра из модуля запуска установщику через программу обновления?
Или мы должны создать выделенный апдейтер для каждой программы запуска?
1 ответ
Это зависит от того, какой тип загрузчика обновлений вы используете:
1. Обновите загрузчики с немедленным выполнением нового установщика
Чтобы передать информацию из модуля запуска новому установщику, вы можете вызвать загрузчик обновлений с такими аргументами, как
-Vname=value
которые устанавливают переменные установщика.
Затем вам нужно передать эту информацию загруженному установщику, который выполняется с помощью действия "Запустить исполняемый файл", передавая дополнительные аргументы, например:
-Vname=${installer:name}
Затем эти переменные установщика будут доступны в новом установщике.
Вы должны вызвать загрузчик обновлений через API, автоматическая интеграция с модулем запуска не позволяет добавлять эти параметры.
2. Фоновое обновление загрузчика
Если вы используете "Фоновое обновление загрузчик", вы можете позвонить
UpdateChecker.executeScheduledUpdate(...)
с restartLauncher
аргумент установлен в true
перезапустить тот же лаунчер после обновления и с launcherArguments
аргумент вы можете передать дополнительные аргументы.
Для пусковых установок с графическим интерфейсом вы можете настроить автоматический вызов при запуске в разделе "Информация об исполняемом файле -> Интеграция с автообновлением" мастера пусковой установки.