title: What are good InstallAnywhere replacements for installing a Java EE application?
body: <p>Which (commercial or free) installer tool would you recommend to replace <a href="https://www.flexerasoftware.com/producer/products/software-installation/installanywhere/" rel="nofollow noreferrer">InstallAnywhere</a> as the installer for a Java EE application? What do you specifically like about it, and what are its downsides?</p>
  
  <p>Some requirements:</p>
  
  <ul>
  <li>Must support <strong>running custom Java code</strong> as part of installation procedure</li>
  <li>Must support Windows, including latest 64-bit versions like Windows Server 2008; support for other target operating systems is a plus</li>
  <li>Must be able to install a bundled application server (such as <a href="http://caucho.com/" rel="nofollow noreferrer">Resin</a> or <a href="http://tomcat.apache.org/" rel="nofollow noreferrer">Tomcat</a>) as a service on Windows</li>
  <li>Must support basic stuff like copying and moving files around, editing configuration files, extracting ZIPs, etc.</li>
  <li>(Must support bundling a specific version of JRE; at the very least by including a ZIP to be extracted) </li>
  </ul>
  
  <p>Edit: a few more points: </p>
  
  <ul>
  <li>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)</li>
  <li>The tool should preferably be cross-platform so that installer development can be done on Linux, Windows, or Mac.</li>
  <li>Should preferably have a decent GUI for putting the installer together. Once that is done, however, it <strong>must</strong> be possible to skip the GUI and make installer building part of automated build process.</li>
  </ul>