InstallAnywhere
Volume Number: 15
Issue Number: 12
Column Tag: Tools of the Trade
InstallAnywhere
Contributing Editor, Andrew Downs
A Truly Multi-Platform Deployment Solution
This article is set-up to provide you with an introduction to InstallAnywhere and lead
you on a tour of the product's main functionality. If you'd like to see the functionality
in action as you read you can download fully functional trial versions of the product
from the Zero G Software Web site at http://www.ZeroG.com. This article will focus on
the new InstallAnywhere Enterprise Edition.
Installers are one of those vital tools that no one thinks about unless they don't work.
Everyone has experience blind clicking "next" buttons, only finding out after the fact
that something wasn't configured correctly or a file was placed in the wrong location.
Fortunately for developers, today's native solutions make the process of building
installers for platform-specific software easy and reliable.
Then Came Java[TM]...
The "Write Once, Run Anywhere[TM]" promise of the Java[TM] programming language
has enticed many developers to adopt the technology, letting them write an application
once and deploy it to a wide variety of end-users, regardless of which operating system
they are running. In theory this is a very attractive proposition; in practice deploying
software across multiple platforms is a highly complex process. For example, simply
running a Java application takes a high level of technological prowess. Unlike the ease
of launching a native application, launching Java software is a multi-step process that
involves setting system environment variables, and invoking (via a command-line
interface) one of the many Java class files that comprise an application. To add a layer
of complexity, Java software needs a Java virtual machine (VM) installed on the
system that can execute the program.
Until recently, no way existed to build multi-platform deployment solutions that
provide the ease-of-use and reliability of native installation tools. Older, legacy
installation solutions are not up to the task. First of all, these installers are
platform-native products and can only run on the platform for which they were built.
Secondly, they are unable to adapt to the conventions of other operating systems. For
example, Mac "aliases" are created in an entirely different manner then Windows
"shortcuts".
A Multi-Platform Solution...
Enter the InstallAnywhere® family of products. InstallAnywhere from Zero G
Software is a Java-based tool designed to address the challenges of deploying software
across multiple platforms. InstallAnywhere provides developers the functionality
they've come to expect in native solutions, the difference is that InstallAnywhere
handles all the platform-specific details and allows developers to build a single,
universal installer that can deploy software to any Java-enabled system from
intranets, the Internet or CD-ROM. This includes Mac OS, Linux, Solaris, AIX, HP-UX,
IRIX, OS/2 and Windows 95, 98 and NT.
Essentially what Zero G has done is taken the time to incorporate functionality into
InstallAnywhere that addresses all the idiosyncrasies of deploying to "native
platforms, and provides developers with a powerful design environment for building
customized deployment solutions. The benefit to developers is that they have a tool that
allows them to tailor an installation to their needs, and they do not have to be expert in
the platforms to which they are deploying. For example, if you want to deploy your
Java application to a Unix-based system all that you need to do is click a button.
InstallAnywhere deals with the rest of the platform specific details. Not only does this
make it easy for Mac developers who want to deploy software to other, possibly
unfamiliar, platforms, it also makes the process of deploying Java software to the Mac
easy.
InstallAnywhere's support for the Mac is one of the key features that set it apart from
other multi-platform deployment tools. Where InstallAnywhere is especially handy is
building double-clickable application launchers. Similar to "native" launchers,
InstallAnywhere creates what are called LaunchAnywhere[TM] executables that can be
placed wherever the end-user chooses, such as on the desktop or in the applications
folder. When creating LaunchAnywhere executables, LaunchAnywhere automatically
locates the correct Java VM, configures all runtime options (including classpath) and
starts the application, making Java software as easy to run as native software. Zero G
has also recreated the Mac "look and feel" for both the InstallAnywhere design
environment and for the installers that it builds. Mac software developers and
end-users are assured a graphical environment that is familiar and easy to use.
Virtual Machine Flexibility
Another key feature of InstallAnywhere is its ability to include the installation of a
Java VM with any installer. With the inclusion of a Java VM, InstallAnywhere
eliminates the need to download and install a Java VM separately, enabling an end user
to run the Java software they are installing with no added complications.
InstallAnywhere is fully compatible with the most recent Java VM technology,
including the Macintosh Runtime for Java (MRJ) 2.1, Sun's Java 2 (JDK 1.2) and Hot
Spot', Microsoft's Java, IBM's Java VM, and Symantec's JIT, allowing developers to
deploy their software for use with the latest Java VM releases.
Producing an Installer
InstallAnywhere provides developers with two interchangeable design environments,
both utilizing a graphical interface for ease-of-use. The six-step Project Wizard is an
easy way to start and allows users to set the basic parameters of the installer: naming,
setting classpaths, finding main classes, picking which platforms to build installers
for, etc. When you're ready to start adding advanced functionality you can easily switch
to the Advanced Designer. Within the Advanced Designer, all of InstallAnywhere's
advanced features are accessible and can be manipulated to fit the needs of each specific
installer.
Walking through the six steps of the Project Wizard entails little user intervention. It
includes six separate GUI panels, each with a descriptive title; brief instructions for
general reference; and clearly defined buttons allowing for a return to any previously
visited step.
The process begins with the "New Project" screen, whether you wish to build an
installer under the Advanced Designer or the Project Wizard. This screen is where the