Автоматическое определение версии Install4j - PullRequest
1 голос
/ 20 декабря 2011

Я использую функцию автоматического обновления install4j для приложения, над которым я работаю.Мне было интересно, как именно он определяет, требуется ли обновление?

Я не уверен, основано ли это исключительно на сравнении номера версии приложения со значением newProperty в соответствующей записи файла updates.xml.Или идентификатор приложения (на экране конфигурации установщика) где-то вступает в игру?

1 Ответ

2 голосов
/ 20 декабря 2011

Логика обнаружения обновлений настраивается.

Посмотрите на ваше приложение установщика обновлений на вкладке «Установщик-> Экраны и действия» и найдите действие с именем «Запись дескриптора обновления».Это действие является просто действием «Установить переменную» со сценарием

((UpdateDescriptor)context.getVariable("updateDescriptor")).getPossibleUpdateEntry()

. Метод UpdateDescriptor#getPossibleUpdateEntry() сравнивает номер версии установленного приложения с номерами версий в загруженном файле updates.xml.Точнее, он находит запись в updates.xml для идентификатора медиа-файла, совпадающего с идентификатором медиа-файла установщика, который использовался для установки текущей установки, и использует номер версии этой записи.

Вы можете заменитьэта логика с вашей собственной логикой, например, использование пользовательских атрибутов в файле updates.xml, которые были настроены на вкладке Установщик-> Параметры автообновления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...