Month: February 2008

Introduction This is a very high-level introduction on what is going on when we initiate an installation. Client and Server processes The main components of Windows Installer engine are msiexec.exe and msi.dll located in the %SystemRoot%\System32 folder. If you want to know the version of MSI installed on your machine, check the version number…

The main page for the series is here. Introduction Although standard actions are sufficient to execute an installation in most cases, custom actions enable the author of an installation package to extend the capabilities of standard actions by including executables, dynamic-link libraries, and script. Important: Custom actions cannot be used in the sequence tables used…

The main page for the series is here. Introduction Microsoft Windows Installer supports four installation states for product features: Installed locally Installed to run from source Absent Advertised When feature is advertised, it is not actually installed on the local system. However, appropriate shortcut to launch the feature is present. The first time a user…

The main page for the series is here. Introduction A typical Major Upgrade removes a previous version of an application and installs a new version. This blog will guide you through the process of creating Major Upgrade. Source code for RTM version Let’s create a C# solution with two projects in it: library and console application. …

The main page for the series is here. Introduction In previous blog we were using custom tables to store the data for different environments. Now, we will be using transforms to customize installation. In order to create a Transform we need a base installation database and extended installation database. Transform is the difference between base and extended…

The main page for the series is here. Introduction Say, we need to change an xml config file based on the environment our program will run in. The most straightforward way of achieving that will be passing values which will go to the xml config file through public properties from the command line. For this…

The main page for the series is here. Introduction Before we start with Launch Conditions and Application Search let’s take a look at the sequence of actions Windows Installer executes during installation. You can find the suggested sequence for InstallExecuteSequence table here. Basically, what this table is saying is that in order to install any…