Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Installer for java application

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!

like image 410
bguiz Avatar asked Mar 19 '10 00:03

bguiz


1 Answers

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.)

like image 74
Stephen C Avatar answered Nov 05 '22 07:11

Stephen C