Hi All,

I've been doing some research to find a suitable native installer for
ArgoUML on windows (see issue 3705).  Below are my findings.  I'd value
your constructive opinions/thoughts before going down any particular
route.

Criteria for choosing installer technology ('shall'=compulsory,
'should'=desirable):
 - The installer shall be distributable as single file.
 - The installer shall not install software other than ArgoUML/JRE.
 - The installer generator shall be free.
 - The generated installers shall not have any restrictive liscencing.
 - The installer should detect/assist download of a suitable JRE.
 - The installer should not show any 'trial version' or similar
 messages.
 - The installer interface should be simple to use.
 - The installer should create suitable shortcuts for launching ArgoUML.
 - The installer should be generated by a script, which can run without
 human intervention.
 
Some ArgoUML installers have been and gone in the past, so I think it is
important that the installer becomes something that is created
automatically for each release.  The ability to generate the installer
from Ant would probably be helpful in this regard.  If it falls to
someone to manually generate it separately, then it risks being late or
forgotten for any given ArgoUML release.

The following URLs highlighted a number of possibles:
http://directory.google.com/Top/Computers/Programming/Languages/Java/Development_Tools/Deployment/?tc=1/
http://www.java2s.com/Open-Source/Java/Installers/CatalogInstallers.htm

Summary of possible candidates:
 JExpress         - not free
 AutoRad          - not Applicable - logistics handler
 Seppia           - not applicable
 Duckware         - looks good but requires jexepack which isn't free.
 CPacker          - not applicable
 EvaluateAnywhere - for trial versions of software? - community edition
 available.
 FreeInstaller    - dead website.
 AntInstaller     - Looks good but requires JVM (creates a .jar).
 MiniInstaller    - Looks good but requires JVM (creates a .jar).
 IzPack*          - looks good.
 JSmooth          - java executable wrapper.
 Launch4j         - java executable wrapper.
 Packlet          - Alpha software, requires JVM.
 Toolshed         - dead website (www.toolshed.com)
 VAInstall        - Looks good but requires JVM
 NSIS*            - self extracting scriptable installer
 WindowsInstaller*- self extracting .msi.

A completely separate option is compiling ArgoUML as a native exe (i.e.
static compilation), which opens up a lot more of the conventional
deployment options, but I fear that this might not be so popular amongst
the developers (feel free to comment)!


The favourites in a bit more detail:

NSIS (Nullsoft Scriptable Install System)
-------------------------------------------
Quite a popular open source deployment system, based on a self
extracting exe which runs a script.  Plugins would potentially allow a
JRE to be downloaded if necessary, file associations to be set, etc. 
I've found some example scripts to do this.  There is now even an
Eclipse plugin for developing the NSIS configuration files.  The look
and feel of the installers is quite customizable.


IzPack
------
A java based installer that can be generated from ant, creates
shortcuts, etc.  Out of the box, it just creates jar files, (i.e. not a
native installer), but an addon called 'IzPack Native Launcher' can be
used to solve this, prompting the user with options for
installing/downloading a JRE if necessary, then running the .jar.  This
can be packaged as as single self extracting .exe using 7zip
(http://www.javalobby.org/articles/izpack/index.jsp) or possibly
JSmooth.  The argouml-installer project already contains significant
work done using IzPack, and an IzPack .jar file was created for ArgoUML
0.20.  The created IzPack installers themselves are a little bit clunky
perhaps, and seems to ask the user more questions than necessary, but
are functionally excellent.


Microsoft Installer (.msi)
--------------------------
Currently encouraged by microsoft, these are very nice clean looking
installers (such as TortoiseSVN).  Probably more suited to native
applications rather than java ones, and I'm not sure how customisable it
all is.  The installers can be generated using the free 'Wix', which is
a .net application.


So far, I'm pretty tied between these three, if anything, leaning a
little towards NSIS.  As I said earlier I'd value your opinions and
thoughts before committing to one.

Regards,

Dave

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to