Java installer for complex server application?

M

moss.prescott

My project is looking for an installer generator. Of the options, so
far only install4j and InstallAnywhere seem like real possibilities.
What full-featured installers are you all using and liking?

To give a little more detail about my situation, I have a JBoss-based
server and applet/JNLP client, which will be talking to a database that
the client already has installed. Of course we'd like the installer
generator to do everything, including targeting multiple platforms,
building a Windows service wrapper for JBoss, collecting our
idiosyncratic install parameters from the user, installing a JRE if
necessary, etc., etc. We need to run on Windows and various UNIXs, and
since there is a fair amount of configuration to be done, we need to
customize both the panels of the installer UI and the process of
installing files.

I have looked at some of the open-source Java installers (IzPack, for
one), and it looks like I would end up needing to assemble several
pieces (a native launcher, a service wrapper, an installer, etc.) to
get everything I need.

I have also looked at InstallShield and BitRock (non-Java specific
installers), but again, they leave half of the problems for me to
solve.

Both install4j and InstallAnywhere seem to offer most of the features I
need and allow me to write Java to handle the extra configuration. The
main downside seems to be cost (niether is cheap, and it looks like I
need to buy a copy for the build machine as well...).
It'd be great to hear about anyone's actual experience with these
tools.

Are there any other tools out there that I'm overlooking?
 
S

Steve W. Jackson

My project is looking for an installer generator. Of the options, so
far only install4j and InstallAnywhere seem like real possibilities.
What full-featured installers are you all using and liking?

To give a little more detail about my situation, I have a JBoss-based
server and applet/JNLP client, which will be talking to a database that
the client already has installed. Of course we'd like the installer
generator to do everything, including targeting multiple platforms,
building a Windows service wrapper for JBoss, collecting our
idiosyncratic install parameters from the user, installing a JRE if
necessary, etc., etc. We need to run on Windows and various UNIXs, and
since there is a fair amount of configuration to be done, we need to
customize both the panels of the installer UI and the process of
installing files.

I have looked at some of the open-source Java installers (IzPack, for
one), and it looks like I would end up needing to assemble several
pieces (a native launcher, a service wrapper, an installer, etc.) to
get everything I need.

I have also looked at InstallShield and BitRock (non-Java specific
installers), but again, they leave half of the problems for me to
solve.

Both install4j and InstallAnywhere seem to offer most of the features I
need and allow me to write Java to handle the extra configuration. The
main downside seems to be cost (niether is cheap, and it looks like I
need to buy a copy for the build machine as well...).
It'd be great to hear about anyone's actual experience with these
tools.

Are there any other tools out there that I'm overlooking?

I can't speak to any of the others, but we're using InstallAnywhere
Standard Edition. With any of their editions, you do not need to
purchase a license for install targets, just for the individual
developer seats who will use it to actually create targets. In our
case, two of us have licenses to run it. It builds installers for each
platform you specify, and it creates an applet-based page where the
button will (if it can) run one or simply allow downloading the
installers.

There is a free version of IA available, and I am not sure of all the
differences between it and others. But I do know that there are some
things that our Standard Edition license doesn't support (at least not
automatically) that are available with the Enterprise Edition. But our
product is currently available for Windows and Linux, and IA lets us
build installers for each platform, including the ability to specify
platform-specific rules (like including a ".bat" file in the Windows
version or a ".sh" file for Linux, and different library files for each
platform, etc.). It also builds what ZeroG calls LaunchAnywhere
programs, which essentially are the platform-specific executables for
your application. For Linux and other Unix variants, they're all pretty
much the same, based on a script template that's part of the IA install.
For Windows, the LaunchAnywhere is an actual exe file. Part of the
setup in an IA project file includes providing the info this program
will require, such as its classpath settings, the main class, JVM
parameters (like the use of -Xms and/or -Xmx), and so on. It also
supports the creation of custom code. Although more is available with
the higher priced Enterprise Edition, custom code can be useful for
things like populating initial preference files, making registry entries
if necessary on Windows, etc., when performing an installation. There's
also a free community board available where questions and problems are
discussed, with regular participation by ZeroG tech support people.

Overall, I have no problem recommending InstallAnywhere. We've used it
for nearly four years now. We could get more if we paid for the higher
priced Enterprise Edition, and we will if we really NEED some of those
features. But the Standard Edition license hasn't prevented us from
doing what we need thus far and has served quite well.

= Steve =
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,981
Messages
2,570,187
Members
46,730
Latest member
AudryNolan

Latest Threads

Top