|
SYS-CON.TV Webcasts
Comments
Did you read today's front page stories & breaking news?
SYS-CON.TV
|
Top Links You Must Click On
Product Reviews Product Review: InstallShield Java Edition 3.0
Product Review: InstallShield Java Edition 3.0
By: Joe Mitchko
May. 1, 2000 12:00 AM
Having been involved in a fair number of development projects over the years, I've often wondered what goes on during the process of setting up and configuring installation programs using authoring tools such as InstallShield. The task of generating a setup program was always assigned to some unsuspecting junior programmer on the team. How they were able to get all the various components, registry settings and so on set up in the tool and compressed into a single file was always a well-guarded secret (I always thought it had something to do with job security). Anyway, driven by curiosity and answering the call of duty, I accepted the offer to evaluate the new 3.0 version of InstallShield Java Edition. InstallShield is the de facto standard for installing MS Windows-based software today. If you're a Windows user, you've probably used it on more than one occasion. With the increasing amount of software being developed in Java today, InstallShield Software Corporation has developed a product tailored toward deploying cross-platform applications. The new 3.0 release introduces a more powerful user interface, making it even easier to deploy software to multiple platforms in a seamless manner. The 3.0 release also provides more control over your installations by allowing you to develop custom UI actions and conditional rules.
Installation Some things that you might reasonably expect when installing software from a CD were missing. Most CDs today incorporate an auto-install feature that starts things up when you place the CD in the disk drive. After placing the InstallShield CD in the test machine, the drive clicked, hummed and made its normal assorted sounds giving the impression that the install would soon begin. After a minute or so of silence, I had to make the inevitable decision that most of us have come to at one time or another when installing something: Is the installer program still thinking or is it in some zombie-like state? After giving it another minute or two, I took the next logical step and checked for an autorun.exe file on the root directory of the CD. I found none. It turns out that in order to install InstallShield you need to click on the setup.html file located in the root directory of the CD. (I know, I know: read the installation manual first!) Another thing that caught my attention was that the volume label for the CD was set to some identification code (presumably the release or version number) as well as using the default icon for a CD. Again, a cosmetic issue, but something that can be improved on. To start the installation, I double-clicked on the CD's setup.html file in Windows Explorer. This opened a browser page containing full setup instructions. I was on my way. A Java applet on the browser performed the actual installation - one of the features provided in InstallShield 3.0. The installation requires you to choose a default Java Virtual Machine for deploying Java-based software on target machines lacking a preexisting JVM install. You're provided with several options, including the ability to use one of the JVMs currently installed on your machine (it even has the ability to search for existing JVM installations on your PC), or you can use the JVM that comes preinstalled with the InstallShield software. The remainder of the installation continued without any difficulties.
New Features Version 3.0 provides a totally rebuilt IDE that breaks up the authoring process into a set of manageable views; I found it easy to use and intuitive (see Figure 2). Version 3.0 also provides the ability to export your installation setup to multiple environments including Java applications, Java applets or self-extracting setup files. For UNIX installations you can export your setup to run as a UNIX shell script (limited to Sun Solaris for now). As mentioned earlier, this version includes an IDE that provides you with an easy-to-use interface for authoring your installation. The IDE uses a user interface similar to that found in Microsoft Outlook and includes a project tree, several project views, menu choices, toolbars and integrated help. The view bar contains several icons that represent the various views (or steps) in the setup and configuration process. Authoring your installation involves configuring each view according to your requirements followed by a build. The first icon located on the top of the view bar is the Project setup. This is where you identify your work environment from a project level, similar to setting up a project in other IDE environments. Here you create the names of your project and of your work file directories. The next icon, the Setup Design view, allows you to define the product you need to install and its features. Each feature can likewise be assigned one or more components. The products, features and components are represented in a hierarchical tree structure in the IDE. The components can be files, registry settings, user environment settings or program groups. It's in this view that you specify how a component is to be installed on the target machine. The decision about when and if a feature and its associated components are to be installed is specified later in the authoring process. The Installer view also allows you to set up a design tree that includes the installation properties and the sequence of events that take place during the install process. Depending on conditional rules, the setup panels in the design tree will call on various features and their components. One nice feature that version 3.0 provides is support for uninstalling a product. The Uninstaller view provides capabilities similar to those in the Installer view, except that the actions performed are designed toward uninstalling various components instead of installing them. The next icon is the Resource view. This view allows you to attach additional resource class files to your setup including support for internationalization and customized JavaBeans. The last view, the Build Configuration view, allows you to configure property values describing the setup program's appearance to the user. In addition to choosing the export file type, you can specify which hardware and/or software platforms are to be supported by the setup as well as providing optional languages.
Taking a Test Run
Although I'd never worked with InstallShield before, I was able to put together quite a polished self-extracting install package with little effort that looked and behaved like the real thing. I started off by simply configuring InstallShield to install the nearest file I could get my hands on - an unsuspecting readme.txt file located in the file browser. The setup program did a fine job of installing this file to the target directory on my PC. Not much of an install, but it did force me to go through each step in the authoring process. The setup panels you'd normally see in an InstallShield setup program were easily identifiable as JavaBean components in the Installer view. Anybody who's used InstallShield would easily recognize the purpose for each JavaBean component. Authoring my simple setup program was relatively easy and was done in one authoring session. To help you along the way, InstallShield provides you with step-by-step instructions and wizards. As I tried out the various install panels, I found myself repeatedly building a setup program, then executing the resulting setup to see how it looked. One thing not provided in this release, but which would be nice, is a preview button that would allow you to go through the install process without actually having to build and run the setup program. Maybe in the next release.... After several dozen build and test cycles, I started running into some memory problems on my PC - the JVM's garbage collection mechanism probably hadn't been able to catch up. After rebooting my machine, things were back to normal. I can't foresee experienced users, who can create a finished product with fewer development cycles, having this problem. The ability to customize the installation process by assembling JavaBean components together is a nice feature. Each install panel and its functionality are represented in a separate JavaBean. For example, there are panels designed to allow the user to enter the install directory or display the legalese required for licensing (it also includes agree and disagree buttons). Each of the window frames typically found in an install program can be selected from a panel and assembled into the installation sequence. Although each JavaBean component available in the "Add Bean Wizard" did include help information describing its purpose, it would be nice to see an example of how the frame would look in the install program ahead of time. Also, the same icon was used to represent each JavaBean component in the IDE and didn't help you visualize what their representative panel looks like. One additional note is that when I attempted to author a Web site installation involving approximately 10M of image and HTML files on a notebook computer with 128MB of RAM, the authoring process was problematic. When I performed the same operation on a more powerful desktop computer having 256MB of memory, it completed the authoring without any problems.
Solaris Installation This is actually one of the better examples of how Java's write once run everywhere architecture can be used to create standardized user interfaces across different hardware and software platforms. For UNIX administrators who have grown accustomed (and inured) over the years to the crude shell script-based install "programs" found in UNIX, InstallShield Java Edition comes as a welcome relief.
Additional Features
Summary Reader Feedback: Page 1 of 1
Enterprise Open Source Magazine Latest Stories . . .
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
|
SYS-CON Featured Whitepapers
Most Read This Week |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||