Common behavior
...
If the name of a dynamic variable is also used in a variable definition in the <variables> section, the <variable>
is used to set the default value for the dynamic variable . A dynamic
When the dynamic variable has set the attribute checkonce="true", the
dynamic variable behaves exactly like a "normal" IzPack variable with a static key-value pair when after it has is set the attribute checkonce="true"
for the first time. It enters the "frozen" state and can not be reset.
An IzPack installer refreshes all dynamic variables that are not "frozen" on each panel change, which subsequently . Changes to variables during the refresh might affect a whole chain of conditions from the <conditions> section depending on these variablesif the variables are used in condition statements.
A dynamic variable can lose it's value if as some point it cannot be evaluated from any of its definitions. It will be reinitialized with a value as soon as at least one of its definitions can be evaluated in some later phase.
...
In addition, if the user goes back through the panel sequence by pressing Previous, they must reach the first panel containing the variable before it will be unfrozen.
In this way, the variables can be reset to the proper values based on new conditions when the user navigates backward and forward multiple times and inputs new choices.
Global precedence for dynamic variable assignments
...