Skip to main content

Windows Installer & MSIs

Each MSI (with internal cabs removed) is cached in the c:\windows\installer hidden folder after the installation is complete. During any repair or uninstall operation, it is the cached MSI that is used.


MSI: 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.



MSI Installation Mechanism (Background Mechanism)
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.


What is Windows Installer?

Windows Installer (previously known as Microsoft Installer) is a built-in Operating System service for Installing and Managing Applications. It provides a standard method for developing, customizing, installing and updating applications. It is an engine for the installation, maintenance, and removal of software on modern Microsoft Windows systems.




Background
A Basic MSI installation program does not use an explicit script to drive the installation, but instead uses sequences of actions to determine the dialog boxes and operations the installation program should display and perform.
There are two sequences used by a typical installation program: the User Interface sequence and the Execute sequence. The User Interface sequence displays dialog boxes and queries the target system, but does not make any system changes. The Execute sequence performs system changes, but does not display a user interface.

More details about media, component and directory table required.

Comments