[izpack-users] Minor nits and suggestions
Christopher Brooks
cxh at eecs.berkeley.edu
Sat Sep 9 21:26:48 CEST 2006
IzPack seems very slick. I'm glad to have found it.
Several years ago I used the multiplatform version of InstallShield,
which I found to be lacking, see my notes at
(http://ptolemy.eecs.berkeley.edu/ptolemyII/ptII1.0/installshield.htm#bugs)
I then switched to ZeroG's InstallAnywhere, which seemed
ok, but was fairly expensive. When Macrovision bought
ZeroG, I decided to switch. I felt that the open source
project I work on (Ptolemy II, http://ptolemy.eecs.berkeley.edu/ptolemyII)
did not need to be supporting a very closed source company
like Macrovision.
Anyway, I'm part way through setting up an installer,
below are some very minor comments about IzPack. All
and all, I'm very happy with IzPack. It certainly took
less work to set up than either multiplatform
InstallShield or InstallAnywhere. In both cases I
had to contact support and find out about bug
workarounds and poorly document features.
These notes are for IzPack 3.9.0-M1, from September 9, 2006.
* IzPack should be easier to use with a custom JRE. The IzPack
native launcher will allow me to invoke the JRE installer, but
I want to use a JRE that is in the current directory. The
IzPack wiki
(http://www.izforge.com/izpack/wiki/native_launcher_and_alternatives)
(see also Notes about IzPack Launcher and possible
alternatives(http://openfacts.berlios.de/index-en.phtml?title=IzPack/Launcher))
describe using Launch4j. I ended up using Launch4j to create a
.exe that invokes the jar file created by IzPack. I also used
Launch4j to create my .exe files that are added to the Start
menu.
* There should be an easy way to ask the user if they want to
invoke a binary after the installation is complete.
* I'd like to add a message to the TargetPanel that describes why
the default location in C:/Program Files won't work.
* In HTMLInfoPanel, the packing seems to change depending on my
html file. Sometimes the pane that displays the HTML does not
fill the width of the screen. It seem like using style sheets
causes problems here.
* I'd like there to be a JREPathPanel that is like the
JDKPathPanel. In one of the installers, I provide a custom JRE
that includes JAI, Java 3D, Joystick JMF, JavaComm, and
X10. I'd like to give the user the opportunity to use the
custom JRE, or to choose their own JRE or JDK.
* It would be nice if there was a way for the installer to unjar
files on command. I provide source in a jar file, if the user
chooses to install the sources, then that file should be
uninstalled. The reason I use a jar file is because it makes it
easier (faster) to build installers - my sources are a few
thousand files, it is faster to copy one file around at
installer build time than it is to copy lots of files.
* The IzPack Developer's page
(http://www.izforge.com/izpack/developers) should state clearly how to build.
Yah, I know, if you don't know svn, you probably can't devel, but
I find quick instructions useful. The instructions should point to
an online copy of the most recent Eclipse instructions. I found
the TeX docs, but is there an online version of the manual?
There should also be a link to How to build the native
launcher (http://www.izforge.com/izpack/wiki/building_native_launcher_
Below are my partial notes about building sources
Building IzPack
1. Download from the trunk
svn co http://svn.berlios.de/svnroot/repos/izpack/izpack-src/trunk
2. I followed the Eclipse instructions from the IzPack 3.9.0-M1
release. One change was that when setting up the debug, I used
c:\cxh\ptII\adm\gen-6.0\ptII6_0-devel_setup.xml \
-b c:\cxh\ptII\adm\gen-6.0 \
-h c:\cxh\src\izpack\trunk
Where
c:\cxh\ptII\adm\gen-6.0\ptII6_0-devel_setup.xml
My IzPack configuration file, usually called
install.xml
-b c:\cxh\ptII\adm\gen-6.0
The base for my build
-h c:\cxh\src\izpack\trunk
The IzPack source directory.
3. Problems while building:
No valid IzPack home directory found
Building in Eclipse fails with:
-> Fatal error :
No valid IzPack home directory found
java.lang.IllegalArgumentException: No valid IzPack home directory found
at com.izforge.izpack.compiler.CompilerConfig.resolveIzPackHome(Compile
rConfig.java:1908)
at com.izforge.izpack.compiler.CompilerConfig.main(CompilerConfig.java:
1835)
at com.izforge.izpack.compiler.Compiler.main(Compiler.java:622)
The solution is to copy ShellLink.dll
cp c:/Pro*/izpack/bin/native/izpack/ShellLink.dll izpack
Uninstaller not found:
c:\cxh\src\izpack\trunk\lib\uninstaller.jar
Building in Eclipse fails with:
-> Fatal error :
c:\cxh\ptII\adm\gen-6.0\ptII6_0_devel_setup.xml:18: Uninstaller not found: c
:\cxh\src\izpack\trunk\lib\uninstaller.jar
com.izforge.izpack.compiler.CompilerException: c:\cxh\ptII\adm\gen-6.0\ptII6_0_
devel_setup.xml:18: Uninstaller not found: c:\cxh\src\izpack\trunk\lib\uninstal
ler.jar
at com.izforge.izpack.compiler.CompilerConfig.parseError(CompilerConfig
.java:1523)
at com.izforge.izpack.compiler.CompilerConfig.findIzPackResource(Compil
erConfig.java:1488)
at com.izforge.izpack.compiler.CompilerConfig.addInfo(CompilerConfig.ja
va:1199)
at com.izforge.izpack.compiler.CompilerConfig.executeCompiler(CompilerC
onfig.java:316)
at com.izforge.izpack.compiler.CompilerConfig.main(CompilerConfig.java:
1854)
at com.izforge.izpack.compiler.Compiler.main(Compiler.java:622)
Solution, use ant:
cd trunk/src
ant dist
I'm not sure how to do this from Eclipse. Eclipse can run ant
but the setup instructions have us include files from
src/lib, not src.
_Christopher
Christopher Brooks (cxh at eecs berkeley edu) University of California
Programmer/Analyst Chess/Ptolemy/Trust US Mail: 558 Cory Hall #1774
ph: 510.643.9841 fax:510.642.2718 Berkeley, CA 94720-1774
home: (F-Tu) 707.665.0131 (W-F) 510.655.5480 (office: 400A Cory)
More information about the izpack-users
mailing list