views:

1034

answers:

7

I'm not looking for java-web-start, I'm looking for a thick-client application installation toolkit. I've got a stand-alone application that consists of several files (jar files, data files, etc) and would need to do some pretty standard installation tasks, like asking the user for target directories, have them locate some parts of their system - choose some of the per-machine or per-user configuration options and possibly try to detect some of the machine settings for them.

I'm looking for something which is like the MSI or other wizard driven installation applications. What's a good installer for Java? It would be ideal if it were cross-platform capable (Linux, Mac OSX and Windows).

+3  A: 

If you are looking for an Open Source solution, take a look here: http://java-source.net/open-source/installer-generators

I have used InstallAnywhere and I think that it is a good solution too.

Kind Regards

marcospereira
InstallAnywhere licenses are way overpriced (at least nowadays). In my (limited) experience it was also somewhat awkward to use.
Jonik
Agree with Jonik that is overpriced. After the Acresso acquisition it seems they just hiked the prices without providing any real improvements. You may want to consider BitRock InstallBuilder
Daniel Lopez
+1  A: 

Launch4j -- open source -- http://launch4j.sourceforge.net/

InstallJammer -- http://www.installjammer.com/

anjanb
+6  A: 

Not an MSI-Installer but crossplatform: izPack

It's xml-file based with it's own GUI or ant task (whtaever you prefer)

zeeman
I find IZPack to be difficult to use, however it is free. Making custom installations is not straight forward. If you need to write your own customized code, be prepared to spend a lot of time fiddling.
Nemi
A: 

The Nullsoft Scriptable Install System NSIS (originally used for winamp) creates really nice installers for windows, and it's very powerful. It has a compiler that runs under linux, but the resulting installer is windows-only, unfortunately.

It's pretty heavy-weight, but worth keeping in mind if you might have to do any vaguely complex or non-standard things during installation.

I have used it since it integrates nicely with my (linux) build system, and I'd want to use packages for installing on linux anyway.

Draemon
Heavy-weight? Which planet are you from? NSIS is probably one of the most light-weight installer tools out there.
JesperE
+2  A: 

AntInstaller enables you to create cross-platform installers where the installation itself is performed using an ANT script. The GUI is configured with an XML config file.

We used it to create quite complex installers. For complex GUIs however, the configuration can get very difficult. The next time I would probably try izPack because it seems to support ANT as well but has nicer GUIs.

ahu
+2  A: 

I suggest izPack with packJacket

michelemarcon
A: 

Although it is not Java-based, about half of our customers use BitRock InstallBuilder to package Java applications. It is cross-platform and supports all the OS that you require (Linux, Windows, Mac). The installer is native, so there are certain advantages to it, such as not requiring a self-extraction step or the need to bundle a JRE, so the installers tend to be smaller in size

Daniel Lopez