Dynamic Installer Requirements -
Introduced in IzPack 5.0, the <
dynamicinstallerrequirements> element is used to enhance the "classic" installer requirement checking that IzPack does at the beginning of an installation process. This stops the installation unless a certain condition is met.
With the dynamicinstallerrequirements element, you can check a certain set of conditions on each panel change, using a panel data validator to check if the required conditions are met.
The installer requirement is actively checked on changing from each panel the DynamicInstallerRequirementValidator is assigned to.
If a condition applies, a messagebox is shown with the appropriate content from translation. Depending on the value of severity attribute the installation might be continued or is aborted:
The messagebox is shown and the installation aborts.
The messagebox is shown and the installation can continue after the OK button is pressed.
A more detailed example:
On each panel with a DynamicInstallerRequirementValidator assigned will be evaluated according to the requirements given as nested elements in
<installerrequirement> - Attributes
The severity the validator should apply in case of the condition gets true.
Possible values: "WARNING" | "ERROR"
|A valid condition ID defined within the <conditions/> element.||none||yes|
|A valid message ID from the appropriate translation file. If it can't be found the mentioned ID itself is displayed instead of the translated text.||none||yes|
Installer Expiration -
In addition to <
dynamicinstallerrequirements>, the entire installer can easily expire on a specified date. This is configured with the expiresdate info element.
The value of expiresdate is a date formatted as "YYYY-MM-DD". If expiresdate is not specified, the installer will not expire. If expiresdate is specified incorrectly, installation compilation will fail with a relevant message. If expiresdate is correctly specified and the system date is on or later than the specified date, the installer will expire with a brief message.