dcsimg

Windows Installer In a Nutshell

By ServerWatch Staff (Send Email)
Posted Sep 25, 2001


Christopher Rice

    Hey folks, how is it going?  I have been getting a lot of e-mail from readers asking about different tools and technologies that include or work around Windows Installer.  I am including the below information to give an overview of that technology to hopefully clear up for people what it is that the Windows installer does:

Hey folks, how is it going? I have been getting a lot of e-mail from readers asking about different tools and technologies that include or work around Windows Installer. I am including the below information to give an overview of that technology to hopefully clear up for people what it is that the Windows installer does:

    Windows Installer is not just an installation program; it is an extensible software management system. Windows Installer manages the installation of software, manages the additions and deletions of software components, monitors file resiliency, and maintains basic disaster recovery by using rollbacks.

In addition, Windows Installer supports installing and running software from multiple sources, and can be customized by developers who want to install custom programs.

The Windows Installer features include:

  • Restores original computer state upon installation failure: Windows Installer keeps track of all changes made to the system during the program installation process. If the installation does not succeed, the installer can restore the system to its initial state. This is known as "rollback."

  • Helps prevent certain forms of inter-program conflicts: It is not unusual for a program that is being installed or uninstalled to cause problems with another program already on the computer, or even to cause the computer to stop responding (hang). The installer enforces installation rules that help prevent conflicts caused when an installation operation makes updates to a dynamic-link library (DLL) file shared by an existing program, or when an uninstallation operation deletes a DLL file shared by another program.

  • Diagnoses and repairs corrupted programs: A program can ask the installer to determine whether an installed program has any missing or corrupted files. It can then ask the service to repair that program as necessary by copying again only those files found to be missing or corrupted.

  • Reliably uninstalls existing programs: The installer can reliably uninstall any program it previously installed, removing all the associated registry entries and program files, except for those shared by other installed software.

  • Supports the on-demand installation of program features: The installer can be instructed to initially install a minimal subset of a program. Later, additional components can be automatically installed the first time you use a features that require additional components.

  • Supports unattended program installation: The installer supports the ability to script a program installation according to administrator instructions.

The Windows Installer technology is divided into two parts that work in combination: A client-side installer service (Msiexec.exe) and a Microsoft Software Installation (MSI) package file. Windows Installer uses information contained in a package file to install the program.

The Msiexec.exe program is a component of Windows Installer. When it is called by Setup, Msiexec.exe uses Msi.dll to read the package (.msi) files, apply any transform (.mst) files, and incorporate command-line options supplied by Setup. The installer performs all installation-related tasks, including copying files onto the hard disk, making registry modifications, creating shortcuts on the desktop, and displaying dialog boxes to prompt for user installation preferences when necessary.

When Windows Installer is installed on a computer, it changes the registered file type of .msi files so that double-clicking an .msi file runs Msiexec.exe with that file.

Each MSI package file contains a relational-type database that stores instructions and data required to install (and uninstall) the program across many installation scenarios.

I got most of the information from support note 242479 on the Microsoft site.  You can go there and search for information that might help to answer many of your questions.

Page 1 of 1


Comment and Contribute

Your name/nickname

Your email

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