Setup Goals

Now is a good time to establish what the various goals are for a good setup program. Let's look at the setup goals from the point of view of installation, the user, the administrator, and the programmer.

The Basic Installation Goals

The basic Windows software installation process requires that the setup program copy the desired files from the distribution media to the user's hard disk, make the appropriate registry entries, and then create a default configuration so that the user can use the program immediately. The setup program also needs the ability to completely remove the program by removing all program files, references in the Start menu, registry entries, and the setup program itself. Somewhat simplified, there are two basic installation goals:

  • A successfully completed installation should result in a functional program, without harming any previously installed programs.
  • A successfully completed uninstall should remove all traces of the program except for files created by the user.

The User's Goals

Beyond the basic installation goals, users have some additional goals, which when met make the installation process a more satisfactory experience.

  • Users want to have control of the desktop. Users don't want unnecessary setup artifacts to appear on the desktop without permission, such as program shortcuts on the desktop and at the top of the Start menu, and taskbar System Tray icons.
  • Users want to have control of the hard disk. Although users have ever-increasing hard-disk capacity, users are also installing more and more programs. Setup programs should ask the user where to install the files, and those that install several megabytes of files should give the user options to select which files to install. The larger the hard-disk footprint, the more important it is to offer the user a choice.
  • Users want to perform installations quickly and with a minimal amount of effort. They want to make a couple of simple selections, click a few buttons, and go. Users don't want to have to learn anything, gather or enter information, or call technical support. Users don't want to have to jump through hoops just to install a program. They want to use the program immediately once it has been installed.

The Administrator's Goals

Beyond the user's goals, administrators are faced with installing software on dozens, possibly hundreds, even thousands, of computers. Consequently, administrators have additional goals.

  • Administrators want the option to run programs from a network server. This requires the ability to install the program on both the server and all the clients.
  • Administrators want the option to perform the installation by using the network instead of dealing with individual computers.
  • Administrators want the option to perform automated installation and removal so that they don't have to baby-sit the entire process.
  • Administrators want the option to have diagnostic logging so that they can easily handle installations that fail.

The Programmer's Goals

Of course, programmers have quite a different set of goals.

  • Programmers want to create fully functional setup programs without much effort.
  • Programmers would prefer to have someone else deal with the setup program.
  • Programmers want to reduce technical support costs for their company and perhaps even for their customers. (You have this goal, don't you?)

These goals are not trivial. For example, about the only bad thing I can say about the Microsoft Developer Network is that it has traditionally been a pain to install (requiring you to uninstall any existing versions first) and uninstall (not restoring the original Microsoft Visual C++ online Help once removed), although recent versions seem to be better. Poorly designed setup programs can be a real hassle—for everyone.

Happily, the goals I've mentioned do not necessarily conflict. For starters, everyone's goals can be accomplished by simplifying the setup process as much as possible.



Developing User Interfaces for Microsoft Windows
Developing User Interfaces for Microsoft Windows
ISBN: 0735605866
EAN: 2147483647
Year: 2005
Pages: 334

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net