Microsoft KB Archive/242479

= Overview of the Windows Installer Technology =

PSS ID Number: 242479

Article Last Modified on 10/28/2003

-

The information in this article applies to:


 * Microsoft Windows 2000 Server
 * Microsoft Windows 2000 Professional

-



This article was previously published under Q242479





SUMMARY
This article describes the Windows Installer software installation technology. This technology consists of the Windows Installer server for 32-bit Windows operating systems and a new package file format used to hold information about configuration and installation.

The Windows Installer technology is being developed for Microsoft Windows 95, Microsoft Windows 98, and Microsoft Windows NT 4.0, as well.



MORE INFORMATION
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.

Keywords: kbinfo kbsetup KB242479

Technology: kbwin2000Pro kbwin2000ProSearch kbwin2000Search kbwin2000Serv kbwin2000ServSearch

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© 2004 Microsoft Corporation. All rights reserved.