Which (commercial or free) installer tool would you recommend to replace InstallAnywhere as the installer for a Java EE application? What do you specifically like about it, and what are its downsides?
Some requirements:
- Must support running custom Java code as part of installation procedure
- Must support Windows, including latest 64-bit versions like Windows Server 2008; support for other target operating systems is a plus
- Must be able to install a bundled application server (such as Resin or Tomcat) as a service on Windows
- Must support basic stuff like copying and moving files around, editing configuration files, extracting ZIPs, etc.
- (Must support bundling a specific version of JRE; at the very least by including a ZIP to be extracted)
Edit: a few more points:
- Preferably does not depend on a preinstalled JRE (or any other 3rd party runtime environment or library) on target machine; in other words, can produce an independent Windows .exe (or .msi)
- The tool should preferably be cross-platform so that installer development can be done on Linux, Windows, or Mac.
- Should preferably have a decent GUI for putting the installer together. Once that is done, however, it must be possible to skip the GUI and make installer building part of automated build process.