Managing an MSI Package

With Windows Installer and the .msi package file format, software installation and removal has become more reliable and resilient while providing a larger set of installation options. Windows Installer manages the installation and removal of applications by applying a set of centrally defined setup rules during the installation process. These setup rules define the installation and configuration of the installed application. In addition, you use this service to modify, repair, or remove an existing application. The Windows Installer technology consists of the Windows Installer service for the Windows operating systems and the package (.msi) file format used to hold information about the application setup and installations.

Windows Installer is not only an installation program; it is also an extensible software management system. Windows Installer manages the installation, addition, and deletion of software components, monitors file resiliency, and maintains basic disaster recovery by way of rollbacks. Additionally, Windows Installer supports installing and running software from multiple sources, and can be customised by developers that want to install custom applications.

How does an MSI Package work?

The BMC Client Management - Software Distribution Packager includes a specific node to wrap MSI packages and the Windows Installer options into a new package containing all necessary installation information. The agents on the remote computers can perform an MSI package installation with those options using the native Windows Installer APIs. The following diagram explains the MSI distribution process:

What are the MSI Package Components?

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.



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 recognise 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.

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 earlier 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.


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 behaviour. Customisation 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.

Was this page helpful? Yes No Submitting... Thank you