Backgrounder: graphical installation issues

Stirling Technologies Inc
172 Old Mill Drive
Schaumburg, IL 60193
708-307-9197,  fax 708-307-9340
-----------------------------------------------------------------
Consumer expectations have risen considerably. Installation software is
critically important: it must succeed in order for the end user to run an
application. Since end users must run the install program first, its also
an opportunity to make the first impression, which lasts.
-----------------------------------------------------------------
Overview

In today's graphical workstation environment, a software application
requires a professional bulletproof graphical installation program which
installs the application in to a users environment. Installing an
application is no longer the simple task of copying files from a floppy
disk to a hard disk subdirectory and instructing the user to run the
applications executable file. Installing an application today requires the
developer to detect hardware and software requirements, install the
application, verify system parameters, provide prompts, make necessary
changes to system files, update out dated common DLLs, graphically ensure
interaction, and ensure that the target system is not destabilized in any
way.

The problem is that building such a custom installation program can be
expensive and time-consuming process. With the already complex task of
developing graphical applications, software developers have never had the
time required to write a totally custom installation solution for their
applications and ensure that it will get the job done.

Installation Process

Installing a graphical application involves several actions that the
installation program is required to perform. Below is a list of some of
the steps that a typical installation program must do:

Customize the installation

* Full installation
* Partial installation
* Laptop installation
* Network installation
* Workstation installation

Copying

* Copy the installation program to hard disk and start. Multiple
  disk installation programs cannot be run from the floppy.
* Install specialized version if installation to network.
* Copy, decompress or update files

Verification

* Check disk space before installing application
* Check for adequate hardware and software pre-requisites
* Check for pre-existing versions of the application
* Prompt for and verify multiple disks

Provide prompts

* Ask user for customization parameters
* Prompt user for installation location
* Provide help for installation options

Intelligent editing

* Ensure updated versions of common DLLs are available
  or installed
* Replace outdated DLLs on the target system.

* Query and update .INI files
* Ask users permission to update system files
* Make backups of system files before updating them
* Safely update AUTOEXEC.BAT and CONFIG.SYS files

Graphic interaction

* Display % Complete status during installation
* Create program groups and icons
* Prompt user to README file and launch editor with README loaded
* Ask user if he prefers to launch the application after
  installation.

Stabilize system and complete installation

* Reboot system, if system options need to take effect after
  installation.
* Restart Windows
* Launch the application
* Launch README file

In addition to performing the steps listed above, an installation program
has to ensure that each step is performed reliably, any error conditions
are handled intelligently. Most of all it has to make sure that the target
system is not rendered unbootable due to the changes made to any of the
system files.

Professional Installations

Installation programs must be professional and provide contingency for any
event. Developers should create completely interactive installations that
let them ask the user for preferences and options at every step of the
installation process. Based on users choices, the application can be
selectively installed, customized to each users needs. Installations
should also provide for customized installations, whether partial or full,
to laptops, networks, or workstations.

Familiar Graphical environment

Effective installations should include native graphical applications under
the windowing environment like Windows, Windows NT or OS/2 PM. End users
are immediately comfortable in a familiar graphical environment when
installing applications. Developers get the benefits of a graphical
environment, such as wide variety of graphical controls, the flexibility
to customize the presentation and style with corporate logos and titles.
Positive first impressions and easy to use installation programs enhance
the overall image of an application.

Customizable programmability

The development environment should include a high productivity installation
development language that provides developers with an easy to use script
language. An effective script can reduce development time from weeks to
hours. The script should be installation smart, and save developers the
task of familiarizing themselves with the Windows system functions
necessary for installation programs. Functions ranging from file copying
operations to manipulating graphical feedback objects, from file
input/output to version checking, from modifying CONFIG.SYS file to
launching other DOS, Windows & OS/2 applications should be available.

A script can also provide advanced developers with direct access to the
Windows APIs and any dynamic link library (DLL) APIs. Using this
mechanism, developers can easily integrate unique install time solutions
such as copy-protection, database table creation etc.. and access any
system functionality offered by the entire Windows API.

Comprehensive reusable standardized components

An installation must provide standardized components and processes. With
common installation features, the end user does not have to learn a new
installation every time. Standardized yet customizable dialog boxes aid
the user and makes the best use of the graphical interface.

A setup toolkit should also provide ready to customize sample
installations. Each example should provide a complete installation as seen
in leading applications. Developers can either use these examples as is,
modify them for their needs or use its reusable components in their
installations. Script chaining should be included to allow the developer
to call and execute a script from within a script.

The Future

Future installation toolkits will offer developers a graphical point and
click environment to create installations. Another exciting development
will be installation tools to assist corporate network managers in the
unattended installation of commercial applications to workstations
connected to large networks. Facilities for automated deinstallation of
applications will also emerge. Stirling is continuing to enhance
InstallSHIELD to support the new features required to support the
installation of applications in today's complex graphical environments.

Conclusion

From the biggest vertical market custom application to the smallest
shareware package, the PC user today expects to see a sophisticated
installation program to accompany the application. An installation program
helps smooth out end-user installation problems and gets the user up and
running quickly.

About installSHIELD

installSHIELD was the first graphical installation development system
introduced for Microsoft Windows and IBM OS/2 Presentation Manager, in
June 1990. Today, InstallSHIELD is used in over 50 countries, in 12
different languages by thousands of commercial and corporate applications.
InstallSHIELD has proven itself on over 2,000,000 installations, with
nearly every hardware and software combination used in the PC
environment.

Developers can write an installation script in only hours, or use/chain
three ready-to-use scripts. Companies can incorporate their corporate look
and feel with animated bitmaps, customized fonts, and special messages for
the user without InstallSHIELD's logo or copyright. InstallSHIELD scripts
can be used on Windows, Windows NT and OS/2 platforms.

InstallSHIELD for Windows NT is a native 32 bit NT application. All the
capabilities of the Windows version are available including over 200
functions, DLL calls, custom dialog boxes, % complete status bars,
externalized strings and program group/icon creation. Everything can be
customized directly from the script. Windows NT developers can call any NT
APIs, Launch applications, and provide registration database & security.

InstallSHIELD for OS/2 provides a native OS/2-based interface.
InstallSHIELD for OS/2 includes over 200 functions, DLL calls, custom
dialog boxes, % complete status bars, externalized strings and program
group/icon creation. OS/2 developers can take advantage of the one step
workplace shell, CID enabled installation, and multithreaded execution.

InstallSHIELD is localized for a wide range of countries so that developers
can distribute their applications internationally.

About Stirling Technologies, Inc.

Stirling Technologies, Inc., founded in 1987, (formerly named The Stirling
Group) is a developer of innovative tools for advanced software developers
creating applications for the Microsoft Windows, OS/2 PM and Windows NT
graphical environments. Stirling's development tools "shield" the
professional developer from the complexities of software development under
graphical environments. Stirling's SHIELD Series development tools are
used leading software companies such as Symantec, Novell, Easel, Autodesk
and Lotus in the development of their flagship products.

 ============================================================
 From the  'New Product Information'  Electronic News Service
 ============================================================
 This information was processed from data provided by the
 above mentioned company. For additional details, contact 
 the company at the address or telephone number indicated.
 OmniPage Pro is now used for converting all printed input! 
 ============================================================
 All submissions for this service should be addressed to:
 BAKER ENTERPRISES,  20 Ferro Dr,  Sewell, NJ  08080  U.S.A.
 Email: RBakerPC (AOL/Delphi), rbakerpc@delphi.com (Internet)
 ============================================================
