04 | 07 | 2009
Main Menu
Affiliates
Who's Online
We have 19 guests online
Alexa
Make an Installer for your Java Applications
Java Concepts
Written by rajesh   
Monday, 16 June 2008 17:26

Rating 3.3/5 (15 votes)

One of the reasons why people choose java for developing their applications is because java is completely Platform Independent. But when it comes to distributing your java applications, you have to provide a easy to use installer so that the user need not struggle to just get your application installed. Many commercial installer applications are platform dependant; they create separate executables for different platforms. In this article we shall see some pure java installers which can create installation packages that are completely platform independent

  1. LZPack
  2. VAInstall
  3. MiniInstaller
  4. Packlet
  5. JPack IT
  6. One-Jar
  7. AutoJar
  8. Antigen
  9. Managed Jar Framework
  10. OrangeVoltAntony

IzPack

IzPack is a pure java installer which generates the installer as a JAR. It generates a single installer that can be executed on all platforms for which Java is supported. It is completely customizable; you can customize the look and feel, the screens and even the functionality.

It provides API interfaces with which you can develop your own panels.

It also supports many native integration options like adding shortcut in the windows programs menu, creating uninstalls option in control panel. You can also create a Mac OS application bundle or a Windows self extracting Executable.

Another major advantage with lzpack is that it supports ant and maven integration.So, you can integrate lzpack with your CI tools to generate the installer automatically after builds.

It also supports recording installations to generate auto installer scripts to perform un-attended installation on many machines.

 

 

VAInstall

Like LZPack, VAInstall is also a pure java installer that can generate a jar file which when executed will start the installation.It is also a multi-platform installer written in Java.

VAInstall takes minimum space on the destination host: it does not write any large temporary file on disk, and supports easy and powerful uninstallation.

It can also be used to create installer for non java applications. And, unlike LZPack, it can create native executables for windows and Linux. It can also create Unix/Linux executable sh script and Java Web Start JNLP.

It also supports windows registry manipulation which lzpack does not. However, it does not support installing windows shortcuts, shortcuts can be installed only for Debian/Gnome targets.

Another striking feature is that it can be configured to pick files from different locations; the files to be packaged need not be in a single directory. It also supports Ant integration and can be integrated with CI process. It does not support recording installations to create a auto installer script.

Both VAInstall and lzpack support multilingual installers.

 

 

Mini Installer

Mini Installer is a simple package to build self installating programs in Java. The process is script driven, the result is a unique JAR file that the user can double click to execute a wizard-like installation process.

It consists of a complete environment to build your own, simple, self installing JARs. The resulting JAR has only a 70K overhead added to the bare data you want to install.
Actions that can be performed by the resulting jar include:

  • display graphics
  • display text files
  • display notes
  • ask user to input values
  • ask the user to choose directories /files
  • unzip files
  • execute java classes or (better) JARs to perform custom operations
  • move back and forward during installation
  • copy files


Packlet

Packlet is a simple installer tool for Java. A packlet is similar to a zip or tgz file: it packages an application into a single compressed file that can be distributed. Packlet files are Java class files that can be executed on any machine with Java 2 Runtime Environment installed. Executing a packlet brings up an installer gui to configure and unpack the application.

Features

  • Generates self-extracting Java class files.
  • bzip2 compression.
  • Swing-based installer GUI.
  • Checksum to detect corrupted files.
  • Environment check on the target machine.
  • Adjust text file encoding and line separator to target machine.
  • Template mechanism to generate launch scripts.
  • Set executable flags.


 

 

JPack IT

JPackIt is a Java application for packaging a Java project into single executable package (such as jar, class or exe) containing all java application resources (code, images, properties, etc.) and referenced libraries. Unlike lzpack, JPack It is not an installer application, it just makes your applications easy to distribute by packaging all your application’s Jars, classes and other resources into a single jar/class/exe file. Your application can be run by just double clicking/executing the packed jar/class/exe file.

 

 

One-JAR

One-JAR is a tool for packaging your application that consists of several jar files and optional native libraries as a single jar file. It is not suitable for applications that require complex installation process. One-JAR is not an installer but a packager that packages your entire application with many jar files and native libraries into a single jar file that when run launches your application.

 

 

Auto Jar

Auto Jar is also not an installation application but can be used to distribute your java libraries. Just provide the root class and AutoJar will automatically find all the other classes required by your main class by scanning the byte code recursively.

If your application uses reflection or loads classes dynamically, Auto Jar may not be able to identify those classes, but however will issue a warning.

Autojar creates jar archives of minimal size from different sources (classes, directories, libraries). Starting from one or more classes, it scans the bytecode recursively for other classes, extracts them from their archives if necessary, and adds them to the output file. The resulting archive contains only classes that are really needed. Thus the size and loading time of applets can be kept low, and applications can be made self-contained. Autojar can search directories and archives for other resources (like image files), extract them and copy them to the output.

It is useful for distributing portions of your application as libraries or to jar only the required classes to reduce the size. Other possible uses are: Merging several libraries into one, or replacing single classes in an archive without manual unpacking and re-packing.

A potential problem is reflection. Autojar doesn't know which classes the program will load during runtime. It can, however, search the bytecode for invocations of Class.forName() and issue warnings. Moreover, if a the class name is a constant, Autojar can look up this class and add it automatically.

 

 

Anitgen

Antigen (Ant Installer Generator) is a tool to take an Ant build script, combine it with a GUI and wrap it up as an executable jar file. Its primary purpose is to create powerful graphical installers from Ant scripts.

The power and elegance of Ant makes it the Java developer's tool-of-choice for writing build scripts, deployment scripts and many other tasks. It's particularly useful for writing application installers, especially if your application's installation process is more complicated than merely copying an executable to the right place.

The only drawback is that the scripts require the user to have Ant installed on their machine, and since Ant is text based, an Ant build.xml script doesn't make a very friendly-looking installer.

Antigen addresses this by wrapping your build script and all the libraries that Ant needs into a single executable jar file. No need for the user to have anything more than Java installed on his or her machine. Additionally, Antigen combines the script with a nice GUI, prompting the user for input with dialog boxes, and allowing the developer to provide the user with information via velocity-driven html-based text pages.

 

 

Managed Jar Framework

Managed Jar Framework (MJAR) is a software distribution/packaging framework for Java allowing side-by-side deploying of classloader-separated applications in the same VM. MJAR uses Spring Framework for internal component management.

 

 

Orangevolt Antony

Orangevolt Antony is a java library to provide user interfaces from ant make files. It can also be used to create installers. You have to develop a make(for performing the installation) file using this library to provide user interfaces



Add this page to your favorite Social Bookmarking websites
Reddit! Del.icio.us! JoomlaVote! Google! Live! Facebook! StumbleUpon! Yahoo! Free social bookmarking plugins and extensions for Joomla! websites!
Comments
Add New Search
Vadiraj   |122.167.107.xxx |2008-06-17 12:59:43
Have you looked at http://openInstaller.org ?
Its a free and opensource Java
application installer written in Java.
Rob W  - Basic requirements for installers...   |81.50.36.xxx |2008-06-21 11:13:16
A basic installer needs to be able to unpack program files in an appropriate
place (a sensible default for the platform, with user override permitted),
install platform-appropriate shortcuts, and provide an uninstaller.

Ideally, a
cross-platform installer written in Java should also be able to show a sensible
error message if Java is not installed.

Do any of these support that? I've
gotten somewhat close after a lot of work with IZPack (that was a couple of
years ago.. it might be easier now) but the interface is still clunky. None of
these other programs look like they meet the requirements.

I also downloaded
OpenInstaller sometime back, and found the documentation to be very difficult to
follow (requires hunting through various PDF documents, bizarrely) and looked
like it would require a lot of work and manual configuration but *still* not
meet the basic requirements.

Any other options? The commercial cross-platform
Anonymous   |156.17.226.xxx |2008-06-21 16:44:28

Vadiraj  - re: Basic requirements for installers...   |122.167.62.xxx |2008-06-23 01:32:39
@Rob, I guess you have not looked at openInstaller in the recent times. All
that you mentioned about the installer features, are included in
openInstaller.
Pl. download the recent build and try.
Vadiraj   |122.167.62.xxx |2008-06-23 01:33:55
@anonymous (who enjoys pinching others)
Here you go:








Enough of the game ?
Rob W  - openInstaller   |81.50.36.xxx |2008-06-23 11:05:21
Okay; I visited the site, followed their advice, and downloaded a copy of the
example cross-platform installer. This gives me a zipfile that I need to unzip,
then click on a vbs script (for windows.. these steps already diverge from a
normal install, though I can probably sort out a wrapper), but that fails
because it uses a hard-coded value for the location of the *JDK* install.

Why
would an end user have the JDK installed at all? They won't even necessarily
have the JRE.

Regular end-users often do not understand paths, and certainly
won't set up an environmental variable for a simple install.

So I haven't tried
the sample install yet (I don't have the time at the moment to see if producing
a usable basic installer is actually possible; their example isn't meeting the
requirement, and other docs, FAQ, etc. don't shed much light... they point me to
various resources in source control and PDFs.. no thanks, that's time I don'...
Rob W   |81.50.36.xxx |2008-06-23 11:07:52
ugh... comment cut off with no warning. Wow, bad UIs are everywhere,
huh?

Short summary of the lost remainder: is there any guide anywhere, or even
downloadable example showing that I make what I need with openInstaller? I.e.,
"normal" installer(s) for Windows/OS X/Linux that non-technical end
users can handle?

Thanks!
Daniel Lopez  - Alternate installer     |213.227.26.xxx |2009-01-02 08:49:39
BitRock.com offers an alternate multiplatform installer with free licenses for open
source projects. They are native though, not Java-based
albert  - free installer   |124.83.4.xxx |2009-01-15 19:42:19
share
hulusi  - installer     |88.255.131.xxx |2009-01-30 07:03:30
Some professional installers can be found also at
http://www.freelanceoverviews.com
Write comment
Name:
Email:
 
Website:
Title:
UBBCode:
[b] [i] [u] [url] [quote] [code] [img] 
 
:angry::0:confused::cheer:B):evil::silly::dry::lol::kiss::D:pinch:
:(:shock::X:side::):P:unsure::woohoo::huh::whistle:;):s
:!::?::idea::arrow:
Please input the anti-spam code that you can read in the image.

3.22 Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."

Last Updated ( Monday, 16 June 2008 18:12 )
 
Bottom Ad
Your Ad Here