I'm trying to troubleshoot an issue with an izpack installer on windows. The first step is to the installer from the xml definition, but izpack keeps complaining that <panel> requires attribute 'id'
Here's the relevant section: I have ids for the Panels, and appropriate resources, and this file does compile for another user (using an older version of izpack)
EDIT: Despite the error name, izpack is complaining about things happening when it tries to parse the resources section.
<resources>
<!-- <res id="ImagePanel.img" src="installscreen.jpg"/> -->
<res id="HTMLHelloPanel.splash" src="./InstallHTML/splash.html"/>
<res id="LicencePanel.licence" src="Licence.txt"/>
<res id="HTMLInfoPanel.info" src="./InstallHTML/WindowsInstall_eng.html"/>
<!-- localization of the info panel -->
<res id="HTMLInfoPanel.info_fra" src="./InstallHTML/WindowsInstall_fra.html"/>
<res id="HTMLInfoPanel.info_eng" src="./InstallHTML/WindowsInstall_eng.html"/>
<res id="HTMLInfoPanel.info_deu" src="./InstallHTML/WindowsInstall_deu.html"/>
<res id="userInputSpec.xml" src="userInputSpec.xml"/>
<!--Everything is parsed to this point. The tag below gets choked on -->
<res id="TargetPanel.dir.windows" src="TargetDir.txt"/>
<!-- localization of the info panel -->
<res id="userInputLang.xml_eng" src="userInputLang.xml_eng"/>
<res id="userInputLang.xml_fra" src="userInputLang.xml_fra"/>
<res id="userInputLang.xml_deu" src="userInputLang.xml_deu"/>
<res id="ShortCutPanel.shortcutSpec" src="shortcutSpec.xml"/>
<res id="ProcessPanel.Spec.xml" src="ProcessPanel.Spec.xml"/>
<!-- localization of resource strings -->
<res id="packsLang.xml_fra" src="packsLang.xml_fra"/>
<res id="packsLang.xml_eng" src="packsLang.xml_eng"/>
<res id="packsLang.xml_deu" src="packsLang.xml_deu"/>
</resources>
<!-- The panels section. We indicate here which panels we want to use. The order will be respected. -->
<panels>
<panel classname="HTMLHelloPanel" id="splash"/>
<panel classname="HTMLInfoPanel" id="info"/>
<panel classname="LicencePanel" id="licence"/>
<panel classname="TargetPanel" id="dir.windows"/>
<panel classname="PacksPanel"/>
<panel classname="InstallPanel"/>
<panel classname="ShortCutPanel" id="shortcutSpec"/>
</panels>
I'm using the izpack 5.0 snapshot.
I did not create this file, it is sort of legacy, and the person who originally set it up is no longer with the project. The short version: What about that tag is invalid/different from the others?
EDIT: before someone points it out, PackPanel and LicencePanel don't have any use for ID that I can tell. I've also tried commenting out all but one of the panels with a listed id, and still get the same error.
Per izpack documentation There is an incompatibility between version 5.0 and previous versions. Instead of default install destinations being parsed in from a text resource, they are defined as variables. Not sure why this particular exception is what comes up with this format mistake.
The correct implementation for the above is Replace this item:
<res id="TargetPanel.dir.windows" src="TargetDir.txt"/>
With this: (outside of the resources list)
<variables>
<variable name="TargetPanel.dir.windows" value="${$USER_HOME}/Programs/ArtOfIllusion"/>
</variables>
And the target panel is:
<panel classname="TargetPanel"/>