<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Joe Walker wrote:
<blockquote cite="mid5dd4742605051003266ea2af6@mail.gmail.com"
 type="cite"><br>
Hi,<br>
  <br>
I'm working on getting an install system together.<br>
  <br>
Requirements:<br>
  <br>
- The installer must help the user in getting Java installed. In an
ideal world this would mean detecting if Java is available and then
downloading the minimum needed to get a working system.<br>
</blockquote>
If the user has Java on the box and it is not at least 1.4, then they
will need to upgrade.<br>
<br>
If Java is not on the box, the version of Java that most people will
install is 1.5.0_03 as that is what is being offered now. Unless we can
package the online installer for 1.4.2. There is some odd behavior
under 1.5 that I have not figured out yet. For example, on Windows a
Bible with notes has the notes column being too narrow, when it is
specified as 20%.&nbsp; (Do we need to certify under 1.5 or push 1.4.2)<br>
<br>
For install on Windows see: <a
 href="http://weblogs.java.net/blog/stanleyh/archive/2005/05/deployment_unde_1.html">http://weblogs.java.net/blog/stanleyh/archive/2005/05/deployment_unde_1.html</a><br>
Stanley points out that the online Windows installer is only &gt;300K
and will do a minimal install of 7.2M for English speakers and a bit
more for non-English.<br>
<br>
For an install on Fedora, it is non-trivial to do it right. For that
reason, I have detailed instructions at: <a
 href="http://www.crosswire.org/jsword/linuxjava.html">http://www.crosswire.org/jsword/linuxjava.html</a>.
I have not updated it since Java 1.5 was fixed.<br>
<br>
On the Mac under Panther and Tiger 1.4.2 is present by default. The
user could download JDK 1.5 (aka Tiger) to run on OS X 10.4 (aka
Tiger). But there is no point to make the entry cost higher than it
needs to be. For more details see here: <a
 href="http://docs.info.apple.com/article.html?artnum=301073">http://docs.info.apple.com/article.html?artnum=301073</a><br>
<blockquote cite="mid5dd4742605051003266ea2af6@mail.gmail.com"
 type="cite">- The installer must create startup icons and an uninstall
system<br>
</blockquote>
For Windows, it should offer the user the user a Typical and Custom
choice. The Typical choice would install in Program Files, add a
shortcut to the desktop, the Quick Launch bar and create a Program
Groups folder. Custom would give the user a choice of where to put it.
(I never put programs in Program Files, unless I can't help it.) And it
would give the user the choice of which shortcuts to create (I never
create desktop shortcuts, and frequently create a QuickLaunch shortcut)
and which program group to put it into.<br>
<blockquote cite="mid5dd4742605051003266ea2af6@mail.gmail.com"
 type="cite">- The installer must work on windows and it would be nice
if it also created installers for Mac/Debian/Fedora<br>
</blockquote>
I do think that we need installers for Mac/Debian/Fedora, and it would
be nice to have them built by the same program, but I don't think it is
necessary.<br>
<blockquote cite="mid5dd4742605051003266ea2af6@mail.gmail.com"
 type="cite">- The installer must be able to (optionally) package some
default versions<br>
</blockquote>
I like this idea. It would be good to be able to release or update
these after the release date. Sometimes the modules are updated and I
would like to be able to rebuild the optional packages to include these.<br>
I see having three packagings:<br>
Minimal. Just BibleDesktop.<br>
Bible Only: BibleDesktop + one English bible.<br>
&nbsp;&nbsp;&nbsp; As we get translations of BibleDesktop, we could add a default for
these.<br>
&nbsp;&nbsp;&nbsp; Right now my favorite module is the NASB. The KJV has too many
errors in it.<br>
Study Tools: BibleDesktop + Strongs Hebew and Greek + Robinsons + WHNU
+ WLC<br>
<br>
If the user already has modules installed should it detect that and
install in the same location?<br>
<blockquote cite="mid5dd4742605051003266ea2af6@mail.gmail.com"
 type="cite"><br>
Am I missing something?<br>
</blockquote>
The installer will be people's second impression of BibleDesktop (the
website is the first) so it should be a great impression. So I
recommend that we shy away from installers that are rough around the
edges.<br>
<br>
It should not muck with the Windows Registry other than to register the
uninstaller.<br>
<br>
The startup script should not leave up a command window. This can be
accomplished with using WSH instead of BAT. Or better yet, can we
create an executable jar? (This is separate from the installer issue.)<br>
<br>
It would be nice to be able to package it via ant on the crosswire
server which is not Windows.<br>
<br>
Should it present the user with the GPL license agreement? (I was
thinking if adding it to About...)<br>
<blockquote cite="mid5dd4742605051003266ea2af6@mail.gmail.com"
 type="cite"><br>
Current findings:<br>
  <br>
If you have several hundred dollars to spare then there is a range of
commercial offerings that do everything you need.<br>
There is no free installer for Java that does JRE bundling.<br>
The closest you can get (for free) to JRE bundling is use of an exe
wrapper that will find a JRE/JDK for you and give you help in
downloadiing if one is not available.<br>
  <br>
There are 2 exe wrapper creators: JSmooth and Launch4J. I am currently
trying JSmooth although if I was to start again I would probably try
Launch4J first. I've has problems with ico files with JSmooth and
development appears to have gone nowhere since 2003. Launch4J allows
optional splash screens (which we probably don't need) over JSmooth.<br>
  <br>
This still leaves us with the issue of getting the files installed in
the first place. The Java based installers (IzPack and AntInstaller)
don't give the user enough help with installinig Java itself, so I'm
looking at the Nullsoft Installer System (NSIS). There are plenty of
other free native installers, including an OSS one from Microsoft on
Sourceforge, however NSIS is probably better supported and even has an
Eclipse plug-in.<br>
  <br>
Joe.<br>
  <br>
  <br>
Summary of Installer Systems:<br>
  <br>
JSmooth<br>
JSmooth is a Java Executable Wrapper that makes a standard Windows
executable binary (.exe) from a jar file. It makes java deployment much
smoother and user-friendly, as it is able to find a Java VM by itself.
When no VM is available, it provides feed-back to the users, and can
launch the default web browser to an URL that explains how to download
a Java VM. Note: NOT COMPLETELY WRITTEN IN JAVA<br>
License &nbsp;&nbsp;&nbsp; GNU General Public License (GPL)<br>
HomePage &nbsp;&nbsp;&nbsp; <a href="http://jsmooth.sourceforge.net/">http://jsmooth.sourceforge.net/</a><br>
Latest Version &nbsp;&nbsp;&nbsp; 0.9.7<br>
Last Update &nbsp;&nbsp;&nbsp; 2003<br>
Bundles JRE &nbsp;&nbsp;&nbsp; No, but will find Java automatically and help user
download<br>
Notes &nbsp;&nbsp;&nbsp; Watch out for icon files that cause the exe generation to
fail.<br>
  <br>
Launch4J<br>
Windows native executable (.exe) java application wrapper. Offers
native splash screen, application icon, search for JRE or use bundled
one, feedback on startup failure, passes command line arguments.<br>
License &nbsp;&nbsp;&nbsp; GNU Library or Lesser General Public License (LGPL)<br>
HomePage &nbsp;&nbsp;&nbsp; <a href="http://launch4j.sourceforge.net">http://launch4j.sourceforge.net</a><br>
Latest Version &nbsp;&nbsp;&nbsp; 1.4.2<br>
Last Update &nbsp;&nbsp;&nbsp; Recent<br>
  <br>
NullSoft Install System + EclipseNSIS<br>
  <a href="http://eclipsensis.sourceforge.net/">http://eclipsensis.sourceforge.net/</a><br>
  <br>
  <br>
No help given to install Java<br>
  <br>
IzPack<br>
IzPack is an installers generator for the Java platform. It produces
lightweight installers that can be run on any operating system where a
Java virtual machine is available. Depending on the operating system,
it can be launched by a double-click or a simple 'java -jar
installer.jar' on a shell. The most common use is to distribute
applications for the Java platform, but you can also use it for other
kinds of projects. The main benefit of IzPack is that it provides a
clean and unique way of distributing a project to users using different
operating systems.<br>
License &nbsp;&nbsp;&nbsp; ASL version 2<br>
HomePage &nbsp;&nbsp;&nbsp; <a href="http://www.izforge.com/izpack/">http://www.izforge.com/izpack/</a><br>
Latest Version &nbsp;&nbsp;&nbsp; <br>
Last Update &nbsp;&nbsp;&nbsp; Recent<br>
Bundles JRE &nbsp;&nbsp;&nbsp; No, user must have installed Java first and be able to
run jar files<br>
  <br>
AntInstaller<br>
AntInstaller is an installer framework which uses a simple XML file to
define the UI, and Apache Ant as a back end. The installers can
therefore do anything Ant can, and are compatible with Ant's extension
mechanism. Installers can be packaged as a selfextracting Jar and can
run from the command line or a Swing GUI. AntInstall can also be used
as a GUI front end for existing Ant builds.<br>
License &nbsp;&nbsp;&nbsp; ASL version 2<br>
HomePage &nbsp;&nbsp;&nbsp; <a href="http://antinstaller.sourceforge.net">http://antinstaller.sourceforge.net</a><br>
Latest Version &nbsp;&nbsp;&nbsp; 0.7.3<br>
Last Update &nbsp;&nbsp;&nbsp; Recent<br>
Bundles JRE &nbsp;&nbsp;&nbsp; No, user must have installed Java first<br>
  <br>
  <br>
Commercial and Too Expensive<br>
  <br>
Install4j<br>
Install4j is a powerful multi-platform Java installer builder that
generates native installers and application launchers for Java
applications. install4j excels in its ease of use, its tight
integration into the target platforms and its flexible JRE management
and deployment options.<br>
License &nbsp;&nbsp;&nbsp; Commercial, From $400 for Pro, $800 for Ent. Educational
discounts available<br>
HomePage &nbsp;&nbsp;&nbsp; <a
 href="http://www.ej-technologies.com/products/install4j/overview.html">http://www.ej-technologies.com/products/install4j/overview.html</a><br>
Latest Version &nbsp;&nbsp;&nbsp; 3.1<br>
Last Update &nbsp;&nbsp;&nbsp; Recent<br>
Bundles JRE &nbsp;&nbsp;&nbsp; Optional<br>
  <br>
ZeroG InstallAnywhere<br>
InstallAnywhere sets the standard for multiplatform software
installation, continuing to stay far ahead of the competition by
delivering an ideal mix of power, ease of use, and functionality. By
deploying and configuring applications onto the platforms that run the
enterprise, the award-winning InstallAnywhere family has become the
preferred choice of developers worldwide.<br>
License &nbsp;&nbsp;&nbsp; Commercial, From about $1000<br>
HomePage &nbsp;&nbsp;&nbsp; <a href="http://www.zerog.com/products_ia.shtml">http://www.zerog.com/products_ia.shtml</a><br>
Latest Version &nbsp;&nbsp;&nbsp; 6<br>
Last Update &nbsp;&nbsp;&nbsp; Recent<br>
Bundles JRE &nbsp;&nbsp;&nbsp; Optional<br>
Notes &nbsp;&nbsp;&nbsp; Now does this product relate to "CodeWork InstallAnywhere"?<br>
  <br>
JExpress<br>
Create international, cross platform installers and updaters for your
apps, applets, and servlets with the click of a button using JExpress.
Build sophisticated installers and updaters through the easy to use
JExpress GUI interface. Or, add customization using Java, third party
programs, and the extensive, robust JExpress Professional API.<br>
License &nbsp;&nbsp;&nbsp; Commercial, Costs from $200<br>
HomePage &nbsp;&nbsp;&nbsp; <a href="http://www.denova.com/">http://www.denova.com/</a><br>
Latest Version &nbsp;&nbsp;&nbsp; Unknown<br>
Last Update &nbsp;&nbsp;&nbsp; 2004<br>
Bundles JRE &nbsp;&nbsp;&nbsp; Optional<br>
  <br>
Caphyon Advanced Installer<br>
Advanced Installer is a Windows Installer authoring tool which enables
developers and system administrators to easily build reliable MSI
packages that meet the latest Microsoft Windows logo certification
requirements and follow the recommended Windows Installer best
practices.<br>
License &nbsp;&nbsp;&nbsp; Commercial, Costs from $200<br>
HomePage &nbsp;&nbsp;&nbsp; <a href="http://www.advancedinstaller.com/">http://www.advancedinstaller.com/</a><br>
Latest Version &nbsp;&nbsp;&nbsp; Unknown<br>
Last Update &nbsp;&nbsp;&nbsp; Recent<br>
Bundles JRE &nbsp;&nbsp;&nbsp; Optional<br>
  <br>
  <br>
No Obvious Recent Changes (in last 2 years)<br>
  <br>
Fijl<br>
FiJI is a Free Java Installer released under GPL. It enables you to
distribute your applications with easy installation : the user doesn't
have to edit lauching scripts (to modify a CLASSPATH for instance).<br>
License &nbsp;&nbsp;&nbsp; GNU General Public License (GPL)<br>
HomePage &nbsp;&nbsp;&nbsp; <a
 href="http://www.xenonsoft.demon.co.uk/products/freeinstaller/index.html">http://www.xenonsoft.demon.co.uk/products/freeinstaller/index.html</a><br>
Latest Version &nbsp;&nbsp;&nbsp; 1.0.1<br>
Last Update &nbsp;&nbsp;&nbsp; Jan 2003<br>
  <br>
FreeInstaller<br>
FreeInstaller is an Open Source installer program written in Java. It
has a self extracting class file, is able to install Java and non-Java
software on UNIX, LINUX and Windows NT.<br>
License &nbsp;&nbsp;&nbsp; Other<br>
HomePage &nbsp;&nbsp;&nbsp; <a
 href="http://www.xenonsoft.demon.co.uk/products/freeinstaller/index.html">http://www.xenonsoft.demon.co.uk/products/freeinstaller/index.html</a><br>
Latest Version &nbsp;&nbsp;&nbsp; 2.0.4<br>
Last Update &nbsp;&nbsp;&nbsp; April 1999<br>
  <br>
Lift Off Java Installer<br>
Lift Off Java Installer is an installer for Java applications.
Highlights are self-extracting class files, minimal requirements for
the Java installation on the target system, and cross platform
installation.<br>
License &nbsp;&nbsp;&nbsp; GNU General Public License (GPL)<br>
HomePage &nbsp;&nbsp;&nbsp; <a href="http://liftoff.sourceforge.net/index.en.html">http://liftoff.sourceforge.net/index.en.html</a><br>
Latest Version &nbsp;&nbsp;&nbsp; 0.2.2<br>
Last Update &nbsp;&nbsp;&nbsp; March 2000<br>
  <br>
Mini Installer<br>
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.<br>
License &nbsp;&nbsp;&nbsp; GNU General Public License (GPL)<br>
HomePage &nbsp;&nbsp;&nbsp; <a
 href="http://www.yagga.net/java/miniinstaller/index.shtml">http://www.yagga.net/java/miniinstaller/index.shtml</a><br>
Latest Version &nbsp;&nbsp;&nbsp; 1.0.1<br>
Last Update &nbsp;&nbsp;&nbsp; Aug 2002<br>
  <br>
Packlet<br>
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.<br>
License &nbsp;&nbsp;&nbsp; GNU Library or Lesser General Public License (LGPL)<br>
HomePage &nbsp;&nbsp;&nbsp; <a href="http://packlet.sourceforge.net/">http://packlet.sourceforge.net/</a><br>
Latest Version &nbsp;&nbsp;&nbsp; Unknown<br>
Last Update &nbsp;&nbsp;&nbsp; Sep 2002<br>
  <br>
Toolshed<br>
A small, simple, pure-Java installer.<br>
License &nbsp;&nbsp;&nbsp; GNU General Public License (GPL)<br>
HomePage &nbsp;&nbsp;&nbsp; <a href="http://www.toolshed.com/downloads.html">http://www.toolshed.com/downloads.html</a><br>
Latest Version &nbsp;&nbsp;&nbsp; Unknown<br>
Last Update &nbsp;&nbsp;&nbsp; May 2002<br>
  <br>
VAInstall<br>
VAInstall is a multi-platform installer written in Java. It is
distributed under the GNU GPL License 2. Through a simple config file,
it allows the packager to pick files and directories from various
places on disk, and not only one root dir like other installers. The
packager can completely reorganize the files and dirs on the
destination host. He can choose the install mode for the destination
host (graphic, xtra, text or ansi).<br>
License &nbsp;&nbsp;&nbsp; GPL version 2<br>
HomePage &nbsp;&nbsp;&nbsp; <a href="http://vainstall.sourceforge.net/">http://vainstall.sourceforge.net/</a><br>
Latest Version &nbsp;&nbsp;&nbsp; 0.20<br>
Last Update &nbsp;&nbsp;&nbsp; 2001<br>
  <br>
  <pre wrap="">
<hr size="4" width="90%">
_______________________________________________
jsword-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:jsword-devel@crosswire.org">jsword-devel@crosswire.org</a>
<a class="moz-txt-link-freetext" href="http://www.crosswire.org/mailman/listinfo/jsword-devel">http://www.crosswire.org/mailman/listinfo/jsword-devel</a>
  </pre>
</blockquote>
</body>
</html>