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

Versions Compared

Key

  • 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.

Example:

...

to check if the required conditions are met.

Code Block
titleCommon Example
languagehtml/xml
<dynamicinstallerrequirements>
  <installerrequirement severity="error"
                        condition="this.condition.must.not.happen"
                        messageid="this.condition.must.not.happen.translation.id"/>
  <installerrequirement severity="error"
                        condition="this.condition.may.happen"
                        messageid="this.condition.may.happen.translation.id"/>
  ...
</dynamicinstallerrequirements>

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.
  • "warning"
    The messagebox is shown and the installation can continue after the OK button is pressed.

A more detailed example:

Code Block
languagehtml/xml
<condition type="variable" id="isNew">
  <name>previous.version</name>
  <value>XX.XX.XX</value>
</condition>
<condition type="not" id="isUpgrade">
  <condition type="ref" refid="isNew"/>
</condition>
...
<dynamicinstallerrequirements>
  <installerrequirement condition="isUpgrade" severity="warning" messageid="not.an.upgrade.warning.message"/>
</dynamicinstallerrequirements>
...
<panels>
  <panel classname="HelloPanel"/>
  <panel classname="TargetPanel">
    <validator classname="DynamicInstallerRequirementValidator"/>
  </panel>
  <panel classname="PacksPanel"/>
  <panel classname="InstallPanel"/>
  <panel classname="FinishPanel"/>
</panels>

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

AttributeDescriptionDefaultRequired
severity

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

...

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