Installation Fundamentals

InstallShield 2015 Express Edition

An installation, in its simplest terms, is the “package” used to install your files and programs onto your user’s machine. It is a complete collection of the application files, as well as logic that interacts with the installer engine. The primary task of any installation is to transfer the application files from the source medium to the end user’s computer. The complexities of the Windows operating system make it anything but simple to create an effective, coherent installation without the aid of a utility such as InstallShield.

An installation is divided into three levels: products, features, and components. The following diagram illustrates this hierarchy:

Installation Hierarchy

A product is the highest level of organization in an installation project. A product is usually one main application (for example, a word processor) and all of the files and data that the application requires; a suite of applications may also be a product.

A feature is the smallest installable part of a product, from the end user’s perspective. As the designer of an installation program, you usually allow the user to choose which features to install and which features to leave on the source media. In a word processor product, the main executable may be one feature, and optional dictionaries may be a separate feature. A feature should be self-contained, in the sense that a feature should not require sibling features. For example, a thesaurus feature should not require a dictionary feature that the user can choose not to install. However, you can design features to contain subfeatures, which allow the end user finer control over which files and data to install.

Each feature in a project is made up of one or more components. A component is the smallest installable part of a product. The Express edition of InstallShield creates components for you automatically. The actual breakdown of features into various components is not visible anywhere within the InstallShield user interface. In addition, components are invisible to the end user. Each component contains files (and other resources) with similar properties. For example, all of the files in a component will be installed in the same directory on an end user’s machine, and all of the files in a component should apply to the same operating system or language. A dictionary feature might contain several language-specific dictionary components. In addition to containing files, components generally contain registry data, shortcuts, file extension information, and other system data to write to a user’s machine.

See Also