Bug #1334

need installer for kepler

Added by Chad Berkley over 15 years ago. Updated over 11 years ago.

Target version:
Start date:
Due date:
% Done:


Estimated time:


We need a user friendly installer for Kepler. We could possibly use
installanywhere or a similar commercial product to produce the installer. it
would be nice if the creation of the installer is automated into the ant build
process so that it's easy to create releases. This needs to be done by the SEEK
meeting in EDI May 8.


#1 Updated by Christopher Brooks over 15 years ago

By way of introduction, I'm the release engineer for the Ptolemy project.

We are currently using ZeroG's InstallAnywhere. It works reasonably well.
I did use InstallShield for the Ptolemy II 1.0 release in 2001.
I had a number of problems at that time with InstallShield, see
maybe InstallSheilds has fixed these problems, maybe not.

In any case I recommend InstallAnywhere. It is not cheap, we ended
up upgrading to the Enterprise edition ($3000? for initial purchase,
$1500? for annual support for the second and subsequent years?)
If there is a free installer available, I would consider moving away from

It turns out that a fairly powerful release mechanism is to build a
Web Start installer first, which will help sort out jar file contents issues,
and then use InstallAnywhere. I found the build/test cycle to be faster with
Web Start. $PTII/mk/ has rules for building a Web Start release.
See also $PTII/doc/webStartHelp.htm, which can be found on the web as

There is also the applet code generator, which can be used to create applets
of Ptolemy models. I was playing around with having the applet code generator
create Web Start installers, but have not quite finished.

One can also reduce the size of the download by using tree shaking, where
we run the model, note which jar files are actually used, and ship only those
jar files. Of course, we need to be sure to include the error handling
mechanism etc., so treeshaking works best for non-GUI intensive products
like applets that have a plot as an output etc.

Anyway, I can provide some help in this area.

#2 Updated by Matt Jones about 15 years ago

Initial installer created using InstallAnywhereNow. Still have some issues to
work out, mainly in size of distribution.

#3 Updated by Chad Berkley over 14 years ago

this bug should probably be to create an automated system for building an
installer. We will have to create an installer for each release. Dan says that
the new full version of InstallAnywhere is xml based so the possibility for
doing an automated scripting install is good. Need to check in to this as it
would speed up our release times.

#4 Updated by Jing Tao over 14 years ago

check and report on size of various components in installer with view of
reducing installer size

#5 Updated by Dan Higgins over 14 years ago

size of various components in installer reported in e-mail
At the recent Kepler developer meeting in Juneau, the question of how much
space components in the Kepler installer require came up. This email is a
summary of the alpha4 installer size requirements.

kepler-1.0.0alpha4-jre.exe --- 144,057 KB ; This is a compressed version that
includes the jre.

When uncompressed, the kepler install requires 296 MB !
kepler/ptII4.0.1 --- 54.0 MB
kepler/ptII4.0.1/ptolemy-doc.jar --- 53.5 MB
kepler/build/kepler.jar --- 13.1 MB
kepler/build/kepler-configs.jar --- 621 KB
kepler/docs --- 33.6MB
kepler/jre --- 39.7 MB kepler/lib --- 145 MB
kepler/lib/jar --- 30.5 MB
kepler/lib/testdata --- 106 MB
kepler/lib/testdata/garp --- 97.0 MB

We thus see that almost 100 MB of the installed version are due to the garp test
data. However, the GARP test data can be compressed quite effectively. (It
requires only about 7 MB in the compressed installer.) [7/144 ~ 5% of the
compressed package; 97/296 ~ 33% of uncompressed package.]

We can reduce the jar files used in actors by dynamic loading, but there is only
30.5 MB there. ptII documentation is ~53 MB in a jar and kepler docs is 33.6 MB.
We can reduce size by separate loading of this documentation.


#6 Updated by Matt Jones over 13 years ago

Final installer for 1.0.0 should resolve size issues, partially by excluding
many actors that might be distributed through an actor repository.

#7 Updated by Christopher Brooks over 13 years ago

Hi Dan,
I no longer recommend InstallAnywhere.
Macrovision bought both InstallShield and InstallAnywhere.
I suspect InstallAnywhere will be end-of-lifed.
Macrovision is a big copyprotection company. Personally, I feel it
sends the wrong message to use their products on a freely available BSD
licensed product.

Professor Arne Huseby, who is visiting the Ptolemy group writes:

Regarding the tool I use to build native versions of my java applications,
the tool is called JET and is available at:

They have versions both for Windows and Linux. Recently they also started
to of fer academic licenses at affordable prices.

According to their website Excelsior JET is nominated for 2005 Java
Developer's Journal Readers' Choice Awards in the "Best Java Virtual Machine"

Personally I am very happy with JET. It is very easy to use, and does not
require me to make any changes to my original java code. The tool also
includes a utility for making software installers

#8 Updated by Dan Higgins over 11 years ago

Currently, the plan is to use the open source software Izpack and Launch4J for the next Kepler release. (also JarBundler for the Mac)

#9 Updated by Dan Higgins over 11 years ago

An open source installer package is made up of several packages, especially for use on Windows OSs. The various steps are summarized here.

1) The ant target called 'makeinstaller' uses Izpack to create a jar file that can be executed on any java enabled OS to step through an installer that unpacks the various files of Kepler. The jar contains all the needed files from within the $KEPLER directory.

2) The ant target 'buildwinexe' creates a Windows file called 'Kepler_launch.exe'. This file is already saved in CVS. It will launch Kepler on a Windows machine (assuming kepler.jar has been created). It is inside the Izpack installer.

3) The ant target 'buildwininstaller' creates a Windows executable file that will start the jar file installer built by Izpack. This executable should check for the presence of java and take the user to a web page for installing Java if it is not present.

4)Another target is 'macjarbundler'. This is used for creating a standard double-clickable application on the Mac from the IzPack jar file.

#10 Updated by Dan Higgins over 11 years ago

IzPack installer system that is open-source and uses ant has been implemented and is in build.xml ant file.

Thus, closing this bug. Any specific bugs to IzPack installer will be added as new bugs

#11 Updated by Redmine Admin over 6 years ago

Original Bugzilla ID was 1334

Also available in: Atom PDF