|Column Tag:||Tools of the trade
The last thing you think of may be the first thing your customer sees!
By Kevin Savetz
Your software probably arrives on your users desks on floppy disks, perhaps sealed in a little white envelope covered in tiny lawyerspeak. Your manuals may be thick and your tech support may be free, but before the user can run your software, they need to install it onto a computer system. Getting it there is half the battle - welcome to the wonderful world of software installers.
As the advertisements for just about all of the following products will tell you, your software installer is an important - but often overlooked - part of your product. Most of todays software products are disk space gluttons that must be distributed on multiple floppy disks. The installer is a program that takes the files on your product distribution disk(s) and puts them in their appropriate locations on the end users computer.
Depending on your needs and the complexity of the installer, the program may make decisions on the best way to install the files on the users computer - based on installation rules that you define. For instance, you may have versions of your program for color and monochrome systems, or for machines with and without an FPU chip. Many installers feature various types of compression, necessary on all but the smallest products, which saves space on your distribution disks by compressing your files by two to three times.
On the Macintosh, the most familiar installer is surely Apples own. If youve ever (re-)installed System 7 on a Mac, youre already familiar with Apples Installer. Traditionally, creating installers for your applications that look and feel like Apples has been a laborious process, requiring coding of installer scripts that define how the installer works. Multi-disk installations and rule-based installations only complicate this process. A couple of the installer-creation applications seek to ease the pain of creating Apple-esque installers by doing the majority of the work for you.
Apples Installer offers a number of features, and well cover a few briefly. Custom splash screens are as simple as having a named PICT in your script. You can add custom code resources for before and after actions. For example, you could have an after action to decompress a file once its copied into place. You could also write custom code to play a sound (maybe to teach users how to pronounce your product name) or bring up a dialog to remind your customer to do something.
Apples Installer in action
Although Apples installer is elegant for the end user, and its extremely powerful, especially with complicated installs (like Apple system releases), it may not be everything you want. It is quirky and doesnt handle very complex installation decisions. So, a variety of applications exist for creating other types of installers. Although the end products of these applications lack the look and feel of Apples own Installer (some would say this is a definite plus!) they often include features absent in the standard installer like built-in file compression and so forth.
Which installer is right for you? Naturally, this depends on many things. How much time do you have to create the installer? If your product is already a month past the expected shipping date, you probably wont want to spend a week or more writing a custom installer script.
Are you a programmer? Some installer applications require that you muck about in MPW, Think C or ResEdit to create a customized installer; others do all the dirty work for you. Touching up an installer isnt a problem for most developers - but ready-to-go installers are a great choice for non-programmers or those who couldnt possibly stand to eye another line of code. Some of these installers are so easy to use that non-programming members of your organization may very well be able to build installers for you.
How much money can you afford? Prices for installer applications and distribution licenses are all across the board. Some applications are free, and require a license fee based on the number of units of your product installer you will distribute. Some installers cost something but offer unlimited distribution. The price youll pay for many products may be a flat fee, or may depend on your projected sales or other criteria. At any rate, get the full story on cost and licensing fees before deciding on an installer application.
Finally, consider who your end users are. Are they hardened professionals, or clueless newbies who may appreciate the familiarity of Apples installer?
Below are comments about six installer programs. Frankly, in the end all these products produce fine, usable installers. The comments will point to you interesting features and pitfalls and will guide you to the type of installer that you need. After narrowing down your search, try out the most promising installer applications on your project - most of these tools are available for limited testing - to choose the one that best suits your needs.
Whichever you pick, it sure beats coding your own installer from scratch...
StepUp softwares ScriptGen Pro provides a simple way to create and manage scripts for use with Apples Installer program. Its intuitive interface makes creating Installer scripts blissfully simple and quick. Finished Installer scripts look and feel just like Apples, including easy install or customized installations and an optional splash screen. ScriptGens scripts are professional-looking and easy to use.
ScriptGen supports the most common features of Apples installer, including file decompression, copying files to system- or user-specified folders, installing fonts and copying resources into files. You can define packages of files which the user can hand-select using the Installers custom install feature, or just let easy install do the work for the user.
ScriptGen knows to place control panels and extensions in their appropriate destinations, depending on the users system version. However, ScriptGen cant create scripts that include rules (installation procedures that choose files based on what type of computer the user is running.) If the software you want to install depends on the monitor type (for instance,) the best workaround is creating two scripts, with names like Color Installer and B&W Installer. This probably wont work well for installations that have multiple variables, like System version, monitor type and so on.
ScriptGen Pro supports action atoms which extend the functionality of installer scripts. StepUp Software offers a separate product, InstallerPack, which includes six useful atoms. The package includes action atoms that decompress your StuffIt, Diamond and Compact Pro archives on the fly. Compression and file segmentation is not handled within ScriptGen Pro or InstallerPack - you must use a third-party compression program for those tasks, then run ScriptGen to create the finished installer.
ScriptGen Pro includes both the ability to force a restart, and it also gives you the ability to offer the user the chance to uninstall. To liven things up, you can use other InstallerPack atoms to show PICT-format pictures and even play sounds during installation.
ScriptGen Pro in action
The ScriptGen Pro and InstallerPack manuals are slim but well-written. StepUp Software requires no licensing fees for scripts generated with ScriptGen Pro, although license fees are required for Apples Installer program as well as InstallerPacks action atoms.
Script-Ease, from Glen Canyon Software, is another utility for creating and editing Apple Installer scripts. Script-Ease is a powerful tool for creating full-featured installation scripts - but with that power come dozens of options and a steep learning curve.
The traditional way of writing Installer scripts is in MPW typing in the code for the individual resources, and using Rez to create the Installer Script. This really doesn't seem like you're using a Macintosh, does it? Script-Ease was designed for those who don't want to type so much and who would rather use a standard Macintosh interface to create a script.
Installer scripts created with Script-Ease and combined with Apples Installer software are friendly, intelligent and professional-looking. Besides letting the end user customize software installation by choosing amongst pre-defined file packages, Script-Ease allows rule-based installation: the easy install option can install files depending on the users system configuration. For instance, you can have your installer script install one version of an application for 68000-processors and a different version for 68020s.
Script-Eases scripts includes other handy features, including the ability to force a restart after software installation and the ability for the user to uninstall software any time after installing it. Installer applications can include a splash screen, but youll have to add one manually with ResEdit. Clear instructions on how to do this are included in the manual.
Script-Ease supports action atoms, and includes a small army of atoms for copying files and resources, tweaking a disks boot blocks and creating audit trails. Compression and decompression can be handled through Glen Canyons GCS Compressor software, sold separately. CGS Compressor includes a proprietary file compression application and action atoms for decompression, finding the amount of free disk space and joining file resources. GCS Compressor doesnt require any other compression tools like StuffIt or Compact Pro.
The manuals are very thorough and include several tutorials to get you started. Script-Ease and GCS Compressor offer a complete set of installation tools and a clean, professional installer script. However, this product isnt for the faint of heart - it takes time and patience to learn the many complex steps necessary to create even a simple installation script.
The Smaller Installer toolkit consists of an installer builder and a set of auxiliary files that work in combination with Compact Pro (a popular file compression utility). The purpose of Smaller Installer is to provide easy-to-use installers while overcoming the limitations of Compact Pros standard self-extracting archives. This combination creates small, customizable, gimmick-free installers.
If you need an installer without a complex interface or file placement rules, Smaller Installer will provide. More complex tasks are possible, but may require knowledge and use of a resource editor and MPW.
Smaller Installer in action
Smaller Installers installers are simple and straightforward. More robust features require other tools, but the manual guides you though the steps necessary for creating an installer customized to your needs. For instance, your installer can have a customized user interface tailored to your requirements - with your logo and an onscreen read-me file - but youll need to spend a couple hours in ResEdit to do it. An included toolkit includes starter resource files you can use as templates for your own customized resources. As a well-though-out addition, Smaller Installer includes ready-to-use resources for creating installers in Swedish, French, German and Japanese. Nice touch.
Smaller Installer helps with Non-English installs
Another powerful feature of Smaller Installer allows you to create installer hook procedures - code resources that modify installation based on users system configuration (using rules). You can select files based on specific machine features, personalize an application after installing it, or even remove files from a previous version of your product. Again, these hooks are robust, but dont come easily - youll need to hack them out in Think C or MPW - but the manual gives a complete description of the steps to take. The product also includes several examples of working hooks.
All in all, Smaller Installer creates clean, easy-to-use installers that can be as simple or complex as you need.
Another tool on the installer front is DragInstall from Ray Sauers Associates. It truly simplifies the complex task of creating installer applications. It, too, produces clean, easy-to-use installers. DragInstall wins points for being one of the simplest to use from the developers standpoint, too: you can create complex installations - even based on the configuration of the users system - with ease. It also features built-in compression and support for x-rays, external routines that provide information about the users system and increase the functionality of DragInstall.
DragInstalls built-in compression (which has been improved over previous incarnations in version 1.5.3) allows you to specify best, faster or no compression. For installations that arent huge, you might want to use the faster compression, which speeds up compression time by a third by sacrificing some compression size. Most of the time, though, stick with the best compression mode to save space on your distribution disks.
DragInstalls installation interface is simple and unique - the user just drags an installation folder icon onto an icon depicting the desired destination hard disk, and voila! Instant install.
DragInstall doing its thing
Built-in rules can customize placement of files and folders cased on the users CPU type, FPU, color, memory size and system software version. It also enables development of installers that intelligently update software with options for replacing and updating old versions of your software.
Although you probably wont need to, you can use your favorite programming language to create x-rays, code resources that add functions to DragInstall installers. You might create an x-ray to delete old versions of your software or serialize a newly-installed package. DragInstall includes x-rays [for making aliases from installer files, renaming files] and so on.
The product includes templates for creating installers in French, German and Italian, as well as English. Creating an installer for an these languages doesnt even require a trip to ResEdit - just select a template from the builder application. Of course, you can also hack out installers in Spanish, Swahili or Pig Latin with a resource editor.
From Aladdin Systems, the folks who brought us the StuffIt series of compression programs, comes InstallerMaker, a strong contender in the battle of the installers. InstallerMaker has integrated compression and strong support for file placement "rules."
MPW and ResEdit are not needed to create powerful installers. InstallerMaker is very easy to learn - our first installer - complete with splash screen, rule-based package installation and on-screen read-me text - was created in about forty minutes without so much as a glance at the manual nor a trip to ResEdit. Even more incredibly, the finished installer worked perfectly.
Aladdin Systems has been distributing its StuffIt line of compression programs since (seemingly) the dawn of the Macintosh. The compression used in InstallerMaker is among the best available.
InstallerMaker includes the ability to customize installers by adding custom code extensions that can add any steps that you desire to any part of the installation process.
StuffIt InstallerMaker allows you to place files based on the users system configuration, or can let the user choose from a list of pre-defined installation packages. It provides easy addition of a custom splash screen and onscreen text (for licensing or read me notes.)
InstallerMakers interface is appealing and intuitive. Icons make the process of choosing how and where to place files blissfully simple. Choose the 7 in the system column to place an item only on System 7 computers, choose 6/7 to also place the item on System 6 machines, and so on. Pick the rainbow to install a folder on color systems or the checkerboard for black-and-white systems. Choosing the files locations is as easy, once you learn to identify the icons that mean user folder, system folder, extensions folder and so on.
InstallerMaker in action
The manual is among the best, including step-by-step instructions, tutorials, sample code for custom installation extensions and a list of commonly asked questions and answers.
As a rule, we generally dont mention as-yet-undelivered features, but well make an exception because of the recent release of PowerMacintosh. A new version of InstallerMaker is planned for shortly after the release of the Power Macintosh, and it plans to support fat binaries ("smart" install, install fat, or ask the user), and offer control over whether you install only on Power Mac or only on 68K Mac. It may also include requested features like the ability to select localization languages, Gestalt values as condition options, and custom progress cursors.
The final product to land on my desk was Developer VISE from MindVision software, makers of Stacker For Macintosh and Application VISE (an application resource compression tool). Developer VISE offers an easy-to-use graphical interface for building product installers. You can create installers with a one-stop easy install option and user-controlled installation of file packages. Compression is built in. The end product is elegant and professional, and MindVision claims to produce the smallest installer sets.
Developer VISEin action
The application for creating an installer is similar in look and feel to StuffIt InstallerMaker or Compact Pro. It provides an intuitive interface and sleek features like file packages that you can name (rather than using obscure labels like package A), diagnostic tools (that find empty packages, for example), and the ability to print reports of installer archives and packages. Tools like these make this product particularly strong for large or complex software installations.
More Developer VISE in action
Developer VISE provides excellent control during and even after the installation. You can create external code resources, allowing you to fully customize your installation procedure. When installation is finished, you can make your installer return to the Finder, suggest the user restart the computer, or force a system restart. It can install resources into the System file, and it can optionally generate a log file so users can see what you did to their machine.
PowerPC developers arent left out with Developer VISE. In addition to the usual abilities of installing based on the users monitor type, memory and so on, Developer VISE customizes installations depending on whether the user is running a 68000-based Mac or a PowerPC. For example, PowerPC-specific resources can be removed from fat applications being installed on 68000-based machines. In addition, the Developer VISE application can use native PowerPC code for compression of your software archives. Nifty.
Developer VISE lets you easily add a splash screen. You can delve in to ResEdit if you want to go even further and customize the installers look. The manual of the beta version we reviewed was a good start, although admittedly incomplete [The manual is now complete - Ed stb]. Developer VISEcomes with a tutorial and about ten samples of code for extending the installers capabilities.
All in all, Developer VISE is a robust package worth checking out.
Now that youve read about them, its time to give them a try. Each of these products offers more features and value than we covered here. Playing with them will give you a much clearer idea of whether they will meet your unique needs. Most of these products are available for a free trial. Pick a few, and give them a test drive.
Products mentioned in this article...
Apple Installer. Apple Computer, Inc. (408) 974-4667. AppleLink: SW.LICENSE. Information is also available on E.T.O.
Developer VISE. MindVision Software. PO Box 81886, Lincoln, Nebraska, 68501. (402) 477-3269 voice, (402) 477-1395 fax. AOL, AppleLink: MindVision; CompuServe: 70253,1437.
DragInstall. Ray Sauers Associates. 1187 Main Avenue, Suite 1B. Clifton, New Jersey, 07011. (201) 478-1970. AOL: Sauers; CompuServe: 70731,2326; AppleLink:D1922.
Script-Ease. Glen Canyon Software. 3921 Shasta View. Eugene, OR. 97405. (800) 477-6947 or (503) 345-6360. AppleLink: GlenCanyon
ScriptGen Pro and InstallerPack. StepUp Software. 710 Glendora Avenue, Dallas, Texas 75230-5428. (214) 360-9301 voice, (214) 360-0127 fax. AppleLink: StepUp; AOL: StepUp1; CIS: 73607,3630.
Smaller Installer. Cyclos. PO Box 31417, San Francisco, CA 94131-0417. (415) 821-1448. AppleLink: CYCLOS; CompuServe: 71101,204.
StuffIt InstallerMaker. Aladdin Systems. 165 Westridge Drive. Watsonville, CA 95076. (408) 761-6200 voice, (408) 761-6206 fax. AOL, AppleLink: Aladdin; CompuServe: 75300,1666.