We need you!


The IzPack documentation needs work, and you are invited to edit it!

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.

Dynamic Installer Requirements - <dynamicinstallerrequirements>

This feature was introduced Introduced in IzPack 5.0.The main goal was , the <dynamicinstallerrequirements>  element is used to enhance the "classic" installer requirement of IzPack, which has been checked checking that IzPack does at the early beginning of an installation process to stop it, . This stops the installation unless a certain condition is met.

With this enhancementthe dynamicinstallerrequirements element, you will be able to can check a certain set of installer requirements conditions on each panel change, using a panel data validator for dynamic installer requirements.



to check if the required conditions are met.

Code Block
titleCommon Example
  <installerrequirement severity="ERROR"
  <installerrequirement severity="ERROR"

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:

  • "ERROR"
    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:

Code Block
<condition type="variable" id="isNew">
<condition type="not" id="isUpgrade">
  <condition type="ref" refid="isNew"/>
  <installerrequirement condition="isUpgrade" severity="warningWARNING" messageid="not.an.upgrade.warning.message"/>
  <panel classname="HelloPanel"/>
  <panel classname="TargetPanel">
    <validator classname="DynamicInstallerRequirementValidator"/>
  <panel classname="PacksPanel"/>
  <panel classname="InstallPanel"/>
  <panel classname="FinishPanel"/>

Each On each panel the with a DynamicInstallerRequirementValidator is assigned to will be evaluated according to the requirements given as nested elements in <dynamicinstallerrequirements>.

installerrequirement attributes:


<installerrequirement> - Attributes


Please see the note in the code above about severity vs status.

The severity the validator should apply in case of the condition gets true.

Possible values: "WARNING" | "ERROR"

  •  "WARNING"
    Shows a warning message but does not abort


  • .
  • "


  • ERROR"


  • Shows a message and aborts the installation


  • .
A valid condition ID defined within the <conditions/> element.noneyes
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.noneyes


Installer Expiration - <expiresdate>

In addition to <dynamicinstallerrequirements>, the entire installer can easily expire on a specified date.  This is configured with the expiresdate info element.

Code Block
  <!-- Make the installer expire -->

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.