Question

I would like to know what packages are out there that can be used to create installers to distribute applications.

The target application is written in Java. The installer must be able to:

  • be compiled via an ant script
  • be compiled Linux (and Windows)
  • run on Windows and Linux
  • detect / handle previously installed versions of the application

We currently use IzPack, because it does all of the above, except the latter: It cannot easily detect previously installed version of the software, and this is the deal breaker for us.

Are there any other packages out there which fit the bill?

Thank you!

Was it helpful?

Solution

I think that you may be missing izPack's CheckedHelloPanel which (according to the online docs) checks in the registry to see if another version has already been installed, and asks if you want to install a second version.

OTOH ... if you mean that the installer should be capable of doing an in-place upgrade of a previous version, that is a really hard problem, and I've yet to encounter an installer builder that even attempts to address it.

EDIT On non-windows platforms, there is a fundamental problem. If an application can be installed in a non-standard place, it is impossible to tell with 100% confidence if a copy (of the same or a different version) has previously installed. And this may be at the root of why CheckedHelloPanel only supports old version detection on Windows.

That having been said, izPack is open source, so if you can figure out a methodology for detecting a previous version on Linux, you can modify CheckedHelloPanel to implement it. And maybe the izPack will accept a patch. Anyway, I recommend you look at that approach first before ditching a tool that you are otherwise happy with. (Especially if what you want to do simply cannot be done on Linux.)

OTHER TIPS

install4j can handle all your requirements.

Give InstallJammer a try. It's free, open source and should do exactly what you want. Specifically, it not only will detect a previous installation, but it actually has some sophisticated capabilities for detecting multiple previous versions and gathering needed information from them.

Download it and give it a try, and if you have any questions, drop by the forums and ask. I usually answer everyone pretty quickly and completely. 0-]

Give a try to our tool, BitRock InstallBuilder it meets all your requirements

InstallAnywhere can do all that, and ISMP (InstallShield Muli-Platform) did all that when Flexera was still selling it, but they're commercial software. I don't know of a free equivalent that does all those things.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top