Hello Dave!
Great work with going through the options.
I would like to add to the list...
The installer generator should run on Windows.
The installer generator should run on Linux.
This is because I would like to include the building of the
installers in the normal release builds. Currently I build releases
on Windows but I would like to keep the options open.
It is good to focus on one of the installers and integrating that
in the release build. After that, we could try and add another one
to provide more options for our users.
/Linus
2008/1/18, Dave T <[EMAIL PROTECTED]>:
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]