Windows Installer technologies
Updated: January 21, 2005
Applies To: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2003 with SP2
Windows Installer technologies
Windows Installer technologies are divided into two parts that work in combination: a client-side installer service (Msiexec.exe) and a package file (.msi file). Windows Installer uses the information contained within a package file to install the application. Following are the Windows Installer technologies:
Installer service--Windows Installer is an operating system service that allows the operating system to manage the installation process.
Installer program--The Msiexec.exe program is a component of Windows Installer. This program uses a dynamic link library, Msi.dll, to read the package files (.msi), apply transforms (.mst), and incorporate command-line options. The installer performs all installation-related tasks: copying files onto the hard disk, making registry modifications, creating shortcuts on the desktop, and displaying dialog boxes to query user installation preferences when necessary.
When Windows Installer is installed on a computer, the file association capabilities of the operating system are modified to recognize the .msi file type. When a user double-clicks a file with the .msi extension, the operating system associates the .msi file with Windows Installer and runs the Msiexec.exe application.
Installation package file--Each package (.msi) file contains a relational type database that stores all the instructions and data required to install (and uninstall) the program across many installation scenarios. For example, a package file could contain instructions for installing an application when a prior version of the application is already installed. The package file could also contain instructions for installing the software on a computer where that application has never been present.
Transforms--The installation process can be manipulated by applying transforms (.mst) to the installation database. A transform makes changes to elements of the database. For example, Windows Installer can use a transform file to change the language in the user interface of an application. The Windows Installer transform files modify the installation package file at installation time, and can therefore dynamically affect the installation behavior.
If you are using Group Policy Software Installation, you should note that a transform is applied at the time of assignment or publication, in addition to the time of installation. In practical terms, this means that you should ensure the Modifications tab of the package properties dialog box is set up the way you want it to be before clicking OK. If you neglect to do this and deploy an incorrectly transformed package, then you either have to remove the software and redeploy it, or upgrade the software with a correctly transformed version.
Customization transforms, much like patches, remain cached on the computer. These transforms are applied to the base package file whenever Windows Installer needs to perform a configuration change to the installation package. Transforms are applied only at initial installation; they cannot be applied to an application that has already been installed.