MSI - MicroSoft Installer
- commonly called the Windows Installer -
See also the Windows Installer FAQ
See also Fixing the Windows Installer
In the past, Microsoft, along with everyone else - used simple installation methods, where an "inf" file was referenced for installation parameters, folder locations, options, etc. But for the past several years, Microsoft has switched to the "Windows Installer", also called MSI (MicroSoft Installer).
Now the software applications come with Windows Installer package files. You must have already installed the Windows Installer itself to be able to run the installation. Many of the applications come with both the package files and the Windows Installer itself - in case you do not have it loaded.
Microsoft Windows 2000, Windows Millennium Edition (Windows Me), and Windows XP include Windows Installer. Windows 2000 includes version 1.1 of Windows Installer, Windows Me includes version 1.2, and Windows XP includes version 2.0. Windows 2000 SP3 also contains version 2.0 of Windows Installer. Microsoft has upgraded all installers to v2.0 - BUT there are three different v2.0 Installers . . .
1) Download Windows Installer 2.0 for Win95-98-ME
2) Download Windows Installer 2.0 for WinNT-2000
3) Windows Installer 2.0 for WinXP - Windows XP contains
Windows Installer 2.0 - and MS does not offer a separate file to reinstall this
!!! However, you can reinstall it by re-installing SP1. But before
you try that - see the "Fix Windows Installer" section, which has a
very high success rate !!
There are two parts to this.
Most people either have v1.0, 1.1, or v2.0 on their machine. You may as well upgrade to 2.0 since it is backwards compatible.
Description
The Installer is actually a relational database. This database consists of the Installer package (data1.msi). This package contains information such as the installation sequence, system dependencies, destination folder paths, setup properties, component to feature relationship, and overall installation options. This database is never actually changed or written to. Instead, it uses what is called a Transform file (.mst) to apply customizations that you desire, to transform the database from its default state. The Installer doesn't stop there. It also is used for post-installation features such as Detect and Repair, Add/Remove programs, Run From Network and Install on First Use options. It is also used to give Elevated Rights (which is not turned ON by default) to an application on Windows NT so the user doesn't have to be a member of the local NT Administrator group. Overall, the Installer technology creates a higher level of customization than has ever been attempted before.
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.
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 file with the .msi extension is double-clicked, the operating system associates the .msi file with Windows Installer and runs the Msiexec.exe application.
Because the database is relational, changes made to one table are propagated automatically throughout the database. This is a very efficient process for introducing consistent changes into the installation process that simplifies customizing a large application or group of applications. The Windows Installer database tables reflect the general layout of the entire group of applications, including:
The Windows Installer database (.msi file) consists of multiple interrelated tables that together compose a relational database of the information necessary to install a group of features. The following table describes the groups of related tables:
| Group | Description |
|---|---|
| Core table group | Describes the fundamental features and components of the application and installer package. |
| File table group | Contains the files associated with the installation package. |
| Registry table group | Contains the registry entries. |
| System table group | Tracks the tables and columns of the installation database. |
| Locator table group | Used to search the registry, installer configuration data, directory tree, or .ini files for the unique signature of a file. |
| Program installation group | Holds properties, bitmaps, shortcuts, and other elements needed for the application installation. |
| Installation procedure group | Manages the tasks performed during the installation by standard actions and custom actions. |
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 at initial installation; they cannot be applied to an already installed application.