FAQ on MSI Packaging & Repackaging, Ver: 0.0.1 – Alpha 4
• Installation in locked-down environments
0 &'""& 1.& 2
Acquisition: The Installer first installs the feature and then progresses through the actions specified in the
sequence tables of the installation database. These actions query the installation database and generate a script
that gives a step-by-step procedure for performing the installation.
Execution: The installer passes the information to a process with elevated privileges and runs the script.
Rollback: If an installation is unsuccessful, the installer restores the original state of the computer. When the
installer processes the installation script, it simultaneously generates a rollback script. In addition to the rollback
script, the installer saves a copy of every file it deletes during the installation. These files are kept in a hidden,
system directory. Once the installation is complete, the rollback script and the saved files are deleted.
&'"
MSI is “Microsoft Windows Installer”. It is an installation, in the form of a single file. It is actually a database that
contains several tables (80+). Each of these tables contains instructions and set-up information.
'%&'"
• Products (Collection of Features)
• Features (Collection of Components)
• Components (Collection of files and Registries)
3
A single, installed, working program (or set of programs) is a product. A product is identified by a unique GUID
(the ProductCode property). A product is not the same as a package: a single MSI package might install multiple
different products. For example, an MSI might install French and English versions of a program, each of which is
a different product.
4
Features are buckets for Components. Windows Installer configuration commands operate only on Features
(installing, advertising, Uninstalling). Self-healing, install-on-demand and user profile fix-up operate at the
Feature level.
# 5
Components are collections of resources that are always installed or removed as a unit from a user's system. A
resource can be a file, registry key, shortcut, or anything else that may be installed. Every component is
assigned a unique component code GUID.
( %)
When an MSI-based application is launched (by clicking on an advertised shortcut or file type association),
Windows Installer checks the existence of key path items. If there is a mismatch between the current system
state and the value specified in the MSI package (e.g., a key file or registry is missing), then the related feature is
re-installed. This process is also known as self-healing or self-repair.
* 6'%)7
Self Heal and Repair are two different concepts in Windows Installer which people many times consider to be the
same thing however there is difference in these two.
2010 © Mayank Johri, Saturday, July 24, 2010 5/25