Release 5.0 of IzPack introduces a new implementation of the izpack-maven-plugin currently found at http://izpack.codehaus.org/izpack-maven-plugin/. In contrast to the documentation there, an explicit dependency to the izpack-standalone-compiler is no longer needed.
Please note that also the configuration parameters and their default values have drastically changed, so in case you want to port your current maven build script you should consult the mojo class from the source tree for the current paramaters until a new Maven Plugin site has been published.
Since 5.0.0-beta11 |
Release 5.0 of IzPack provides an XML-Schema for each of the IzPack xml configuration files.
Specification of the schemas is currently optional; using them may require existing configuration files to be re-ordered.
On completion these will be published to the izpack.org website, under http://izpack.org/schema/5.0/.
To add schema validation, use the following declarations:
<izpack:installation version="5.0" xmlns:izpack="http://izpack.org/schema/installation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://izpack.org/schema/installation http://izpack.org/schema/5.0/izpack-installation-5.0.xsd">
<izpack:conditions version="5.0" xmlns:izpack="http://izpack.org/schema/conditions" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://izpack.org/schema/conditions http://izpack.org/schema/5.0/izpack-conditions-5.0.xsd">
<izpack:langpack version="5.0" xmlns:izpack="http://izpack.org/schema/langpack" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://izpack.org/schema/langpack http://izpack.org/schema/5.0/izpack-langpack-5.0.xsd">
<izpack:registry version="5.0" xmlns:izpack="http://izpack.org/schema/registry" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://izpack.org/schema/registry http://izpack.org/schema/5.0/izpack-registry-5.0.xsd">
<izpack:shortcuts version="5.0" xmlns:izpack="http://izpack.org/schema/shortcuts" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://izpack.org/schema/shortcuts http://izpack.org/schema/5.0/izpack-shortcuts-5.0.xsd">
<izpack:antactions version="5.0" xmlns:izpack="http://izpack.org/schema/antactions" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://izpack.org/schema/antactions http://izpack.org/schema/5.0/izpack-antactions-5.0.xsd">
<izpack:bsfactions version="5.0" xmlns:izpack="http://izpack.org/schema/bsfactions" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://izpack.org/schema/bsfactions http://izpack.org/schema/5.0/izpack-bsfactions-5.0.xsd">
<izpack:icons version="5.0" xmlns:izpack="http://izpack.org/schema/icons" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://izpack.org/schema/icons http://izpack.org/schema/5.0/izpack-icons-5.0.xsd">
<izpack:configurationactions version="5.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:izpack="http://izpack.org/schema/configurationactions" xsi:schemaLocation="http://izpack.org/schema/configurationactions http://izpack.org/schema/5.0/izpack-configurationactions-5.0.xsd">
<izpack:userInput version="5.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:izpack="http://izpack.org/schema/userinput" xsi:schemaLocation="http://izpack.org/schema/userinput http://izpack.org/schema/5.0/izpack-userinput-5.0.xsd">
<izpack:processing version="5.0" xmlns:izpack="http://izpack.org/schema/processing" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://izpack.org/schema/processing http://izpack.org/schema/5.0/izpack-processing-5.0.xsd">
<izpack:compilation version="5.0" xmlns:izpack="http://izpack.org/schema/compilation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://izpack.org/schema/compilation http://izpack.org/schema/5.0/izpack-compilation-5.0.xsd">
IzPack installation files try to preserve backwards compatibility as much as possible yet version 5.0 introduced some incompatible changes - mostly for consistency:
The <native>
elements must now be contained in a <natives>
wrapping element under 5.0. See the section on Native Libraries.
The IzPack installer will silently ignore the |
Since 5.0.0-beta11 |
The optional <param>
element in a panel <action>
element now uses name
and value
attributes instead of key
and value
child elements. The following examples illustrate the change between the two versions.
<panel classname="TargetPanel" id="target.win"> <os family="windows" /> <actions> <action stage="preactivate" classname="com.opentext.installer.actions.RegistryReaderAction"> <param> <key>ConfigurationFile</key> <value>RegistryReaderConfiguration.xml</value> </param> </action> </actions> </panel> |
<panel classname="TargetPanel" id="target.win"> <os family="windows" /> <actions> <action stage="preactivate" classname="com.opentext.installer.actions.RegistryReaderAction"> <param name="ConfigurationFile" value="RegistryReaderConfiguration.xml"/> </action> </actions> </panel> |
See the section on Panel Actions.
Since 5.0.0-beta11 |
The optional <configuration>
section in a <panel>
element permits nested <param>
elements. Previously, the <param>
element was specified using child elements <key>
and <value>
. This has now been changed to name
and value
attributes - see Panel action param elements, above, and the Panels section.
Since 5.0.0-beta11 |
Change To packselection ConditionDue to refactoring and improvement to the internal workings of IzPack, LateShortcutInstallListener
is no longer available. Instead, use the new <lateShortcutInstall/>
option in shortcutSpec.xml
. See Shortcut Specification for details.
Since 5.0.0-beta11 |
In 4.3.x, the packselection condition erroneously required that a packid element be provided indicating the pack id.
E.g.:
<condition type="packselection" id="packselection1">
<packid>myPackId</pack>
</condition>
The packid actually refers to the localisation identifier of the pack, which is optional, and non-unique. It should refer to the pack name attribute.
To better reflect this, and to force those upgrading to use the correct attribute,the <packid> element has been changed to <name> E.g.
<condition type="packselection" id="packselection1">
<name>Core</name>
</condition>
See IZPACK-799 for more details.
Since 5.0.0-beta11 |
The misspelt packdepency element has been renamed to packdependency.
IZPACK-798 changed TargetPanel.dir.* etc to be variables, rather than resources.
In 4.3.5, the default directory displayed in TargetPanel may be configured in a text file named:
In the <os name> form, the os name has been one of:
For 4.3.6, IZPACK-798 changed the above to use variables instead of text files, following the same naming convention.
For 5.0, the Platform class is used to determine the appropriate variable (see IZPACK-829).
For a more details, see Setting Default Installation Directories.
The panel.id
attribute is necessary to have here, for example:
<panels> ... <panel classname="UserInputPanel" id="container.installation.selection.panel"/> <panel classname="UserInputPanel" id="new.container.path.selection.panel" condition="new.container"/> <panel classname="UserInputPanel" id="existing.container.path.selection.panel" condition="existing.container"/> ... </panels> |
The userInputSpec.xml must also contain the panel.id attribute and referred panel IDs from the installation descriptors must exist in the user input panel definitions.
Example:
<userInput> <panel id="container.installation.selection.panel"> ... </panel> <panel id="new.container.path.selection.panel"> ... </panel> <panel id="existing.container.path.selection.panel"> ... </panel> ... </userInput> |
The panel.order attribute has been removed from the userInputSpec.xml, since it has been ambigous, see IZPACK-885.
The field validator packages have changed, so obsolete validation classes no longer work. This manifests as validation always failing.
Example: com.izforge.izpack.util.NotEmptyValidator should become com.izforge.izpack.panels.userinput.validator.PortValidator.
The following changes affect the usage of headline translations in all types of panels:
Example 1:
<resources> <res id="CustomLangPack.xml_eng" src="i18n/CustomLangPack.xml_eng"/> </resources> <panels> <panel classname="TargetPanel"/> </panels> |
<langpack> <str id="com.izforge.izpack.panels.target.TargetPanel.headline" txt="Please select the installation directory"/> </langpack> |
Example 2:
<resources> <res id="CustomLangPack.xml_eng" src="i18n/CustomLangPack.xml_eng"/> </resources> <panels> <panel classname="TargetPanel" id="target.panel"/> </panels> |
<langpack> <str id="target.panel.headline" txt="Please select the installation directory"/> </langpack> |