A patch may take as long or longer to install than the target product

Often I’m asked why installing a Windows Installer patch (MSP) takes as long or longer to install than the target product (MSI). While this isn’t always the case for every patch, it’s certainly possible for a number of reasons. It may also come as a surprise that the size of the patch can have little… Read more

Downgrading Shared Components

Shared components define shared resources. It might seem obvious, but it’s important to understand that whatever you do to a shared resource during the installation of one product affects those same resources for any other product. For example, when upgrading one product to update files shared with another product, that other product will use the… Read more

Major Upgrades with Shared Components

Major upgrades are Windows Installer products that can be installed like any other product with the added benefit of removing one ore more related products. For example, version 2 of a product can be installed on a clean machine, or on a machine with version 1 already installed and will remove version 1. When another… Read more

Testing for components that install under TARGETDIR

A while back I explained how Windows Installer sets the TARGETDIR property to the root of the fixed drive with the most free space available. The problem is that even an attached USB external drive can appear as a fixed drive, and these may be later detached. If components are installed to that drive and… Read more

Test your conditions

When testing the serviceability of your product before you ship, it’s important to test any conditions you might have on the product, features, components, and actions. Feature conditions can set the install level of a feature when the package is installed. But as the Condition table documentation states, be sure that the condition does not… Read more


It’s always important to test your product before it ships. Servicing it later can prove very costly and very difficult. It’s no different with your installation packages. You need to test not only basic install and uninstall operations, but also test your servicing plan. Problems are inevitable in practically any application, and you may even… Read more