dcsimg

Windows Installer Foundations

By ServerWatch Staff (Send Email)
Posted Jan 2, 2002


by Dana Daugherty

Windows Installer is fast becoming the application installer of choice in the IT industry. This article provides an overview of the basic workings of this new technology.

Windows Installer is fast becoming the application installer of choice in the IT industry. Dana Daugherty's latest article provides an overview of the basic workings of this new technology.

Windows Installer is an operating-system service that is responsible for installing, repairing and removing software. It is difficult these days to find any off-the-shelf software that does not utilize Windows Installer technology. It is becoming a software installation standard within the information technology industry. Benefits of Windows Installer include

  • Proper management of shared resources

  • Improved methods for enforcement of installation rules 

  • On-demand installation of entire applications or application components

  • Much cleaner removal of software

  • Better rollback support for failed applications


Windows Installer is comprised of these components:

An operating system-resident installation service. Prior to Windows Installer, installation programs used their own setup executables or scripts. Each application vendor was responsible to obey the proper installation rules; however, these rules were subjective because there was no standard.

A standard format for component management. Other installation technologies use scripts to deliver files, registry keys and other resources. Windows Installer processes applications information as a hierarchy of logical building blocks:

  • Products

Are applications, each contained in their own package file. The package file will have an extension of .msi.

  • Features

Are roughly mapped to those features that are available when a user selects a custom installation using the Windows Installer interface. 

  • Components 

Are a collection of installable resources. Windows Installer manages component level rather than at the resource level. This gives better control over all resources. It also provides the ability for shared resources to be better managed. Former installer technologies did not have the ability to manage shared registry keys. Resources are owned by components. Resources belonging to the same component must be installed our uninstalled together.


Installable resources include: 

  • Files 

  • Registry keys

  • Keypaths are the locations to key files. Key files provide necessary information about resources for applications that are being installed. Keypaths are centrally managed by the Windows Installer service. 

  • Component Code is a unique ID assigned to a specific component. Because of this globally unique code, components can be shared among multiple applications.


A management API for application tools. The management API exists to allow Windows Installer to manage all file paths for applications written to support Windows Installer. Because of this, other software features are supported such as:

  • Install on demand: feature level allows application features to be installed when needed without the need to re-run the installation setup program.

  • Install on demand: product level is supported by Windows 2000/XP only. This feature allows for programs to be installed when an icon is run from the desktop or from a Windows Programs group. This feature is also said to be advertised.

  • Runtime Resource Resiliency In the IT world this feature has been referred to as self-healing and dynamic repair.


 Distributing the Windows Installer Service

Before distributing Windows Installer-based software to client machines using SMS, the machines must have the Windows Installer service installed. Windows 2000/XP both ship with Windows Installation integrated with the Operating System. The new technology can be installed on Windows 9x/NT by distributing these installs:

Windows Installer 2.0 for Windows 9x/ME

Windows Installer for Windows NT 4.0


The Windows Installer Package File

Windows Installer products are each described by package files. The package files are in a database format that has been optimized for installation performance. The package file for a given product describes any necessary installation instructions. The Windows Installer service relies on Msiexec.exe to interpret the package file. The package file has an extension of .msi and replaces the former .stf, .inf and .lst extensions from previous Windows based installers. In order to make all of the Windows Installer features available to an organization, an administrative installation must be installed. Features such as install on demand, run-time resource resiliency and run from the network all require an administrative installation. To create an administrative install:


1.     Copy the contents of the CD to a network share.

2.     The installation syntax for creating an administrative installation is as follows:

Msiexec /a \\<ServerName>\<ShareName>\package.msi where package.msi is the .msi responsible for installing the product.

3.     The administrative share will appear in the same folder that contain the CD install with the folder name of Admin.


Look for my next Windows Installer article to address command-line syntax and popular customizations.

Page 1 of 1


Comment and Contribute

Your name/nickname

Your email

(Maximum characters: 1200). You have characters left.