tags:

views:

1161

answers:

9

Depends on your experience could you recommend something? I've use izpack, and it's very nice tool, is there any other, better tool?

+1  A: 

for Windows there's AdvancedInstaller, it was very easy to use and created standard .msi files. It has some extra features for Java installs.

gbjbaanb
+1  A: 

We are using IZPack for quit a while and are very satisfied. You can build installers for nearly all platforms and it integrates well with your build tools like maven.

All of our projects are maven projects :)
vaske
+5  A: 

I am happy with install4j. (even run it from my ant scripts)

After evaluating quite many options, I've come to think install4j is currently the best installation tool for Java software. (For details about my experiences, see http://stackoverflow.com/questions/759855/what-are-good-installanywhere-replacements-for-installing-a-java-ee-application/786307#786307.) But of course it greatly depends on the context and requirements. For one thing, install4j is a commercial tool which may rule it out for many projects.
Jonik
+5  A: 

In MS Windows NSIS is great and it's free & OSS

Ref: Java Launcher with automatic JRE installation

Riyaz Mohammed Ibrahim
And the new Kernel installer that's coming with jre 1.6u10 will make this absolutely fantastic.
Kevin Day
+1  A: 

hi there,

sun has come out with a new version : https://openinstaller.dev.java.net/ -- this is open source and sun will be using this to launch most of their server side products/projects.

anjanb
+1  A: 

Since no one has mentioned it yet, I'll go ahead and plug InstallAnywhere. We use it at work for all our products and I can't say we've really had any problems with it (that weren't caused by mistakes in our own scripts at least!). It's a cross-platform GUI installer which is a nice feature if you expect to have different desktop environments in play, and it also supports console installers, silent installs, etc.

I googled around a bit and here's a review of InstallAnywhere you might find helpful. It's from a first time user, rather than a publication or thinly veiled press release, which probably makes it less biased and a better indicator of what your experience using it might be like.

Jay
Notice the date of the review is 2005. Unfortunately a lot of things have happened since then, including Acresso acquisition and the product has become stale. Though if it works ok for you, there is of course no need to change
Daniel Lopez
@Daniel - good to know. We're still using it at work in several products but it's always preferable to use tools in active developent of course!
Jay
@Daniel I wrote that 2005 review of InstallAnywhere, and haven't touched it since. Do you have a link to the 'end of life' announcement for IA? (I would love to post it to my blog.)
mooreds
+2  A: 

I would like to suggest our cross platform installation tool, BitRock InstallBuilder. Although it is not Java-based, it is commonly used to package Java applications. It can be easily integrated with Ant and you can build Windows installers from Unix/Linux/Mac and the other way around. Because the generated installers are native, they do not require a self-extraction step or bundling a JRE, which means smaller installers and saves you some headaches. I also would like to mention we have free licenses for open source projects

Daniel Lopez
A: 

I'd suggest InstallJammer. It's not written in Java, but it's cross-platform and provides capabilities to handle Java-based applications during installation. Being that it's not based on Java, it doesn't actually require any version of the JRE to be installed on the target system, which is kind of nice, but you can still use actions within your installer to locate versions of the JRE for your application. The installers are small and completely self-contained.

It's also free and open source, if that matters to you. It does to some. :)

A: 

I know you said installer, but I think it is worth mentioning JSmooth. It's a launcher that generates an exe file for Windows. The reason it is worth mentioning is because it performs the job of location a JVM and can also download and install it for the user. This is often left up to the installer to do. Doing it dynamically like this is nicer though since Java gets updated quite often and JSmooth will always use the latest version JVM it can find (within your parameters).

sjbotha