Как передать параметр из модуля запуска в программу обновления с помощью Install4J

У нас есть установщик, который устанавливает два модуля запуска. Каждый модуль запуска запускает один модуль обновления, одинаковый для двух модулей запуска. В конце процесса обновления, то есть в конце установки, когда это необходимо, мы хотели бы запустить хороший лаунчер, то есть тот, который был ранее запущен.

Можно ли это сделать, например, с передачей параметра из модуля запуска установщику через программу обновления?

Или мы должны создать выделенный апдейтер для каждой программы запуска?

1 ответ

Решение

Это зависит от того, какой тип загрузчика обновлений вы используете:

1. Обновите загрузчики с немедленным выполнением нового установщика

Чтобы передать информацию из модуля запуска новому установщику, вы можете вызвать загрузчик обновлений с такими аргументами, как

-Vname=value

которые устанавливают переменные установщика.

Затем вам нужно передать эту информацию загруженному установщику, который выполняется с помощью действия "Запустить исполняемый файл", передавая дополнительные аргументы, например:

-Vname=${installer:name}

Затем эти переменные установщика будут доступны в новом установщике.

Вы должны вызвать загрузчик обновлений через API, автоматическая интеграция с модулем запуска не позволяет добавлять эти параметры.

2. Фоновое обновление загрузчика

Если вы используете "Фоновое обновление загрузчик", вы можете позвонить

UpdateChecker.executeScheduledUpdate(...)

с restartLauncher аргумент установлен в true перезапустить тот же лаунчер после обновления и с launcherArguments аргумент вы можете передать дополнительные аргументы.

Для пусковых установок с графическим интерфейсом вы можете настроить автоматический вызов при запуске в разделе "Информация об исполняемом файле -> Интеграция с автообновлением" мастера пусковой установки.

Другие вопросы по тегам