Something curious I am analyzing right now with IzPack 5.0.6.
I have several Packs
The first Pack has 2 Executables (config-postinstall.bat and config-postinstall.sh).
<executable targetfile="$INSTALL_PATH/admin/bin/config_postinstall.sh" failure="warn" stage="postinstall">
<os family="unix"/>
</executable>
<executable targetfile="$INSTALL_PATH/admin/bin/config_postinstall.bat" failure="warn" stage="postinstall">
<os family="windows"/>
</executable>
The next Pack has 2 Executables (postinstall.bat and postinstall.sh)
<executable targetfile="$INSTALL_PATH/postinstall.sh" failure="warn" stage="postinstall">
<os family="unix"/>
</executable>
<executable targetfile="$INSTALL_PATH/postinstall.bat" failure="warn" stage="postinstall">
<os family="windows"/>
</executable>
When the first pack is executed the config-postinstall file is executed and deleted.
Fein: Found 2 executable files
But the next pack in the execution order has the executables from the first pack again and therefore the build failes (file not found).
Fein: Found 4 executable files (but this pack also has only 2 executables)
com.izforge.izpack.api.exception.IzPackException: Ein Fehler ist aufgetreten
in java.lang.Thread.run() at Thread.java:744
in com.izforge.izpack.installer.unpacker.UnpackerBase.run() at UnpackerBase.java:235
in com.izforge.izpack.installer.unpacker.UnpackerBase.unpack() at UnpackerBase.java:275
Caused by: com.izforge.izpack.api.exception.InstallerException: File execution failed
in com.izforge.izpack.installer.unpacker.UnpackerBase.unpack() at UnpackerBase.java:253
in com.izforge.izpack.installer.unpacker.UnpackerBase.unpack() at UnpackerBase.java:439
in com.izforge.izpack.installer.unpacker.UnpackerBase.executeFiles() at UnpackerBase.java:934
I think this error was not present in 5.0.3 (but not sure, yet)
A workaround is setting keep="true", but I don't want this.