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!
I think that you may be missing izPack’s
CheckedHelloPanelwhich (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
CheckedHelloPanelonly supports old version detection on Windows.That having been said,
izPackis open source, so if you can figure out a methodology for detecting a previous version on Linux, you can modifyCheckedHelloPanelto implement it. And maybe theizPackwill 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.)