My IzPack installation configuration is working well on Linux. Installation and uninstall both work as expected.
Installation also works fine on Windows, but uninstall doesn't work. The uninstaller that IzPack places on the system goes through the motions of working, but doesn't actually remove any files. I presume it's due to UAC blocking it, since if I open an administrator CLI and do a "java -jar uninstaller.jar" it works. Is there a configuration option to tell it to require privilege escalation on uninstall? I have <run-privileged condition="izpack.windowsinstall"/>
in my install.xml already (it's required for installation to succeed, and the windows limitation is required for Linux installs to behave properly).
I also note that it doesn't show up in the "add/remove programs" section of Windows. Is there an easy configuration change to set that up (it's not worth it if it's a ton of custom code, but I'd like to support it if it's not too big a hassle)?
install.xml:
<?xml version="1.0" encoding="iso-8859-1" standalone="yes" ?>
<installation version="1.0">
<info>
<appname>Program</appname>
<appversion>5.0</appversion>
<appsubpath>The Corporation</appsubpath>
<javaversion>1.7</javaversion>
<uninstaller name="uninstaller.jar" path="${INSTALL_PATH}/uninstaller" write="yes"/>
<url>http://www.example.com</url>
<run-privileged condition="izpack.windowsinstall"/>
<pack200/>
</info>
<guiprefs width="640" height="480" resizable="no"/>
<locale>
<langpack iso3="eng"/>
</locale>
<resources>
<res id="LicencePanel.licence" src="License.txt"/>
<res id="InfoPanel.info" src="Readme.txt"/>
<res src="shortcutSpec.xml" id="shortcutSpec.xml"/>
<res src="unix_shortcutSpec.xml" id="unix_shortcutSpec.xml"/>
</resources>
<native type="izpack" name="ShellLink.dll"/>
<native type="izpack" name="ShellLink_x64.dll"/>
<native type="3rdparty" name="COIOSHelper.dll" stage="both">
<os family="windows"/>
</native>
<native type="3rdparty" name="COIOSHelper_x64.dll" stage="both">
<os family="windows"/>
</native>
<listeners>
<listener installer="RegistryInstallerListener" uninstaller="RegistryUninstallerListener" >
<os family="windows"/>
</listener>
</listeners>
<panels>
<panel classname="HelloPanel"/>
<panel classname="InfoPanel"/>
<panel classname="LicencePanel"/>
<panel classname="TargetPanel"/>
<panel classname="ShortcutPanel"/>
<panel classname="PacksPanel"/>
<panel classname="InstallPanel"/>
<panel classname="FinishPanel"/>
</panels>
<packs>
<pack name="Base" required="yes">
<description>The base files</description>
<file src="Readme.txt" targetdir="$INSTALL_PATH"/>
<file src="License.txt" targetdir="$INSTALL_PATH"/>
<file src="Program.jar" targetdir="$INSTALL_PATH"/>
<file src="lib" targetdir="$INSTALL_PATH"/>
</pack>
<pack name="Manual" preselected="yes" required="no">
<description>The documentation</description>
<file src="Manual.pdf" targetdir="$INSTALL_PATH"/>
</pack>
</packs>
</installation>