by Marcello Balduccini (email@example.com)
JInstaller provides a framework for automated installation of programs.
JInstaller-based installers usually come as Java Archives, which makes
them easy to distribute.
Installers should extend class JInstall, which belongs to package
jinstall. It is recommended to either unpack the JInstaller
distribution in the directory of the installer, or to create
a symbolic link from directory jinstall to the directory of
the installer. The constructor of jinstall lets the programmer
specify the full name of the package being installed, a prefix for
temporary files, and whether the files to be installed are present
locally, or have to be downloaded from the net (if they are present
locally, they are assumed to be in subdirectory "DW").
All installation tasks should be queued by overriding method
public void fillTasks(Vector t)
Vector t must be filled with the list of tasks to be executed. Each
task is an instance of class InstallTask, suitably overriding
public void run()
When defining installation tasks, the following methods are accessible:
protected void clearLog()
protected void println(String s)
protected void getFile(String web,String path,
String fname,String destdir)
protected void setEnabledAll(boolean s)
protected String getDestDir()
protected String getPath(String f,String s)
protected void abortTasks()
protected boolean exec(String cmd,String dir,
boolean verbose,boolean use_script)
protected boolean exec(String cmd,String dir,boolean verbose)
protected boolean exec(String cmd) throws Exception
protected boolean exec(String cmd,String dir) throws Exception
protected boolean exec_verbose(String cmd) throws Exception
protected boolean exec_verbose(String cmd,String dir)
protected void deleteRecursive(File f,boolean rmThis)
protected void deleteRecursive(File f)
protected static boolean parseArgs(String args)
Subclasses of jinstall can override method
protected String getConfirmMessage()
in order to display a confirmation message before installation starts. The
default message is:
"The installation process is going to begin.
You most likely have to run this installer as root
in order to install the software out of your home directory.
Do you want to proceed ?"
Subclasses of jinstaller can be compiled and packed in a jar file
% jinstall/makejar-sub.sh <classname>
from the directory containing the subclass. The script creates
a jar file called "<classname>.jar". If a file called "README" is
present in the subclass directory, it will be included in the jar
Installers can be executed from any directory. After the
installation process is over, the installer can be safely removed.
The installer can be run by typing:
% java -jar <classname>.jar
jinstaller has been designed for Unix systems running Java 1.3. In order
to check what version of Java you are running, you can type "java -version"
at the command line prompt. The program has *not* been tested with Java 1.4.
jinstaller has been tested on NetBSD and Solaris. In principle, it should
run on any Unix system with Java 1.3, a standard shell (sh), and the tar and
JInstall is distributed under the GNU Public License.
Click here to download JInstall. Unpack the file
in the directory where your installer classes are going to reside.
Back to my Home Page