Tuesday, March 30, 2010

Install an Eclipse based App - what's the best way to go ?

Going commercial (I had to do this) some things have changed for me. One thing is that I have to provide commercial quality support. Every now and then (more often than I like) I have a user that cannot run my Eclipse based app and most of the times I do not get concrete feedback on the reasons, be it that the user doesn't understand or is not willing to invest some time to run the demo. What impression do I leave there, if a user downloads my demo and it simply does not work ? I'm currently providing the app as a plain old eclipse zip file. One thing users do with it, is extract it over the old installation. Sh... One other problem I find is that the app need at least Java 5 to run, and sometimes there isn't java installed at all. One time some admin changed the jvm on a linux box back to kaffe 1.4 for unknown reasons. As it worked before, we simply had no idea and the kaffe error message was so unknown to me. I now think of using an installer and ship the client with a bundled jre. that makes some more megabytes, but I guess it could improve the overall experience.

What I want to know is: how do you build your distributions ?

PS: Forgot to tell that it needs to be cross - platform ...


Steph said...

We build our distributions with NSIS. With EclipseNSIS http://nsis.sourceforge.net/EclipseNSIS_-_NSIS_plugin_for_Eclipse you get great wizards and script editors. Its quite easy to create an installer that way.


Terry said...

Hello, we perform the distributive for Java Web Start Technology. Precisely we have
we construct an ERP system and deployed it this way. You can view a demo of our erp
(I2E.ERP) at the following address http://erp.i2e.com.es

Torkild U. Resheim said...

We have a continuous build server producing Equinox p2 repositories which the users can upgrade from. It takes time to set up, but is well worth it.

Chris Aniszczyk (zx) said...

Your whole use case described is why p2 was built in the first place. It's a provisioning platform where you can build installers (you can see the sample one in CVS). As part of p2, you can ship things like JREs and p2 will manage them properly as part of the install.

Thomas Kratz said...

I had a try with the p2 installer already. But as we are Client-Server Each customers client needs to update from the customers server installation. I'll guess I have to ask this on the forum.

Chris Aniszczyk (zx) said...

Have you looked at the Equinox OSGi book? There's a p2 chapter in there that describes how to build a provisioner on the server side. It describes the lower level p2 APIs (note this changes in 3.6 a bit as p2 actually has API... the book is based on 3.5.2)

Using Mapstruct with Protobuf3