akatkinson
akatkinson

Reputation: 548

Install4j auto-update version detection

I'm making use of install4j's auto-update feature for an application I'm working on. I was wondering how exactly it determines whether an update is required?

I'm not sure whether it's based purely on the application version number being compared to the newProperty value in the relevant entry in updates.xml. Or, does the Application ID (in the installer configuration screen) come into play somewhere?

Upvotes: 2

Views: 1378

Answers (1)

Ingo Kegel
Ingo Kegel

Reputation: 48105

The update detection logic is customizable.

Look at your updater installer application on the Installer->Screens & Actions tab and locate the action named "Update descriptor entry". That action is just a "Set a variable" action with a script of

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

The method UpdateDescriptor#getPossibleUpdateEntry() compares the version number of the installed application to the version numbers in the downloaded updates.xml file. More precisely, it locates the entry in updates.xml for the media file ID matching the media file ID of the installer that was used to install the current installation and uses the version number of that entry.

You can replace this logic with your own logic, for example using custom attributes in the updates.xml file that were configured on the Installer->Auto-Update Options tab.

Upvotes: 2

Related Questions