Как предоставить установочную переменную для загрузчика фоновых обновлений? - PullRequest
1 голос
/ 15 октября 2019

Я использую Install4j с установщиком автообновления. Я определил приложение «Фоновое обновление загрузчика» в разделе «Установщик». Я хочу запустить этот установщик из моего собственного Java-приложения и использую мастер интеграции для получения кода. Я установил переменную установщика (updatesUrl) в качестве аргумента установщику. Проблема в том, что установщик игнорирует мое значение. Я хочу предоставить установщику свои собственные значения.

«Загрузчик обновлений Backgroung» имеет блок «Запуск». Моя переменная установщика недоступна внутри этого блока. Если я добавлю экран, отображающий переменную, вне блока «Запуск», он покажет значение, которое я указал в качестве аргумента установщику. Таким образом, похоже, что переменная установщика недоступна внутри блока «Настройка». Это ошибка или предназначена?

ApplicationLauncher.launchApplication(
  "1529",
  new String[] {"-VupdatesUrl=file:///C:/somepath/updates.xml"},
  true,
  null
);

Ответы [ 2 ]

0 голосов
/ 16 октября 2019

Тот факт, что ${installer:updatesUrl?:${compiler:sys.updatesUrl}} разрешается в ${compiler:sys.updatesUrl}, даже если вы передаете -VupdatesUrl=file:///C:/somepath/updates.xml в командной строке, является ошибкой и будет исправлен в install4j 8.0.3.

0 голосов
/ 15 октября 2019

Проблема заключалась в том, что оператор "?:" Не работал. У действия «Проверить наличие обновлений» есть поле «URL-адрес дескриптора обновления», значение по умолчанию которого равно ${installer:updatesUrl?:${compiler:sys.updatesUrl}}. Когда я изменил его на ${installer:updatesUrl}, он работал как положено.

...