...
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:
Installation:
<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">
Conditions:
<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">
Langpack:
<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">
Registry:
<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">
Shortcuts:
<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">
Ant Actions:
<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">
BSF Actions:
<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">
Icons:
<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">
Configuration Actions:
<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">
User Input
<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">
Processing
<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">
Compilation
<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">
Upgrading Installation Descriptors (install.xml)
IzPack installation files try to preserve backwards compatibility as much as possible yet version 5.0 introduced some incompatible changes - mostly for consistency:
Native elements
The <native>
elements must now be contained in a <natives>
wrapping element under 5.0. See the section on Native Libraries.
Warning | ||
---|---|---|
| ||
The IzPack installer will silently ignore the |
Panel action param elements
Info |
---|
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.
Code Block | ||||
---|---|---|---|---|
| ||||
<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> |
Code Block | ||||
---|---|---|---|---|
| ||||
<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.
Panel configuration param elements
Info |
---|
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.
LateShortcutInstallListener
Info |
---|
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.
Info |
---|
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.
CompilePanel.Spec.xml
Info |
---|
Since 5.0.0-beta11 |
The misspelt packdepency element has been renamed to packdependency.
Default installation directories in TargetPanel.dir.*
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:
- TargetPanel.dir.<os name>
- TargetPanel.dir
In the <os name> form, the os name has been one of:
- System.getProperty("os.name").replace(' ', '_')
- "windows"
- "mac"
- "unix"
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.
UserInputPanel
The panel.id
attribute is necessary to have here, for example:
Code Block | ||||
---|---|---|---|---|
| ||||
<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:
Code Block | ||||
---|---|---|---|---|
| ||||
<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.
Overriding Common Panel Translations
The following changes affect the usage of headline translations in all types of panels:
- Custom translations have to in a resource CustomLangPack.xml_<ISO3> (renamed from CustomLangpack.xml_<ISO3>)
- There are two possibilities of translation keys which can be used in the following lookup priority:
- If a panel ID is defined: <panelId>.<subKey>
- <Fully_qualified_panel_classname>.<subkey>
- The order attribute of <panel> is no longer read (ignored) and can't therefore used as part of the translation key any longer.
Example 1:
Code Block | ||||
---|---|---|---|---|
| ||||
<resources> <res id="CustomLangPack.xml_eng" src="i18n/CustomLangPack.xml_eng"/> </resources> <panels> <panel classname="TargetPanel"/> </panels> |
Code Block | ||||
---|---|---|---|---|
| ||||
<langpack> <str id="com.izforge.izpack.panels.target.TargetPanel.headline" txt="Please select the installation directory"/> </langpack> |
Example 2:
Code Block | ||||
---|---|---|---|---|
| ||||
<resources> <res id="CustomLangPack.xml_eng" src="i18n/CustomLangPack.xml_eng"/> </resources> <panels> <panel classname="TargetPanel" id="target.panel"/> </panels> |
Code Block | ||||
---|---|---|---|---|
| ||||
<langpack> <str id="target.panel.headline" txt="Please select the installation directory"/> </langpack> |