views:

105

answers:

3

Hi!

I am trying to find a native installer for windows to install an enterprise java application. The most important feature I want is the ability to upgrade existing installations in an rpm kind of way (distinguish between configuration files and files to be upgraded/replaced). I am currently using IZPack which as far as I can see lacks this feature.

Other features I require are maven/ant integration, jre version check and bundling, registering as windows server and application (ability to uninstall from windows own tools) and ability to parse and replace parameters in configuration files based on parameters givet at install time.

Do anyone know of an installer that can do all of this?

+4  A: 

Check out NSIS. It is scriptable and easy to use.

For Maven integration use the Maven NSIS Plug-in.

Yuval A
NSIS is far from having natively all the feature requested but I think its sample library and its plugins should be able to do all you need.Moreover, their is an ecplise plugin to have syntax coloring of installer scripts inside eclipse.
Denis R.
A: 

It costs money (it definitely couldn't be classed as cheap), but you could consider InstallAnywhere. I'm using the 2008 pro edition and it does pretty much everything you've specified. I started using it ages ago, and haven't

  • Ant integration (ant task for building installers)
  • Ant integration (call an ant build script as part of the installer).
  • Bundles java (you download specific packs for windows/linux/solaris etc)
  • Installs as a service
  • Custom panels for your own look and feel.
  • Multi-platform Native looking adapter (i.e. no command prompt window a-la batch file start).
  • Uninstallable via windows control panel.
  • Parameter replacement in files that have just been installed.
lewinc
A: 

BitRock InstallBuilder can do nearly everything that you mention out of the box, about half of our customers use it to install Java apps on Windows. We do not support the RPM behavior of marking certain files as configuration, but you can replicate this with a little bit of logic inside the installer (you can compare dates or md5s and only substitute if they are different.) We provide free licenses to open source projects and discounts to SMBs, let us know in case you qualify.

Daniel Lopez