Find installer defects quickly by reviewing key MSI database tables

I often find defects in the small details that go along with an installer. So many things are configurable, and simple things can be easily missed due to the overwhelming amount of things to look for. Walking through installation wizards can be visually overwhelming when testing. Each step presents it’s own window title, header text, product descriptions, button names, error text, events, and so on. Each wizard step can also be a complex form full of variables that need testing. To avoid the visual overwhelm, that often results in missed defects, you can get an overview of all those details by peering into the msi database within the msi installer. Using the tool MSI Database Reader & Reporter you can get that overview and quickly identify many defects. After loading an msi database in the tool you can find a majority of detail oriented, low severity defects by looking at key database tables. I find the following tables to be informative and a potential defect haven:


Property table: contains various properties found throughout the installer (e.g. form default values, upgrade guid/code).


File table: contains the file list and all file details (e.g. size, version).


ActionText table: contains a list of the text that appears above the progress bar during install.


Feature table: contains features’ description text.


Control table: contains a list of the form controls used in the installer, their properties. The Text column lists all form text strings.


Error table: contains installer error text (with the exception of custom errors defined in the property table).


MsiFileHash table: contains a hash for every file in the installer. This is great for detecting file changes between new builds of installers.


Keep in mind this is a quick and dirty overview of the guts in the installer, and not a replacement for the actual testing of the install, since the hoards of information in the database is not easily tied to a step in the installer wizard.


Make testing of the details in an installer easier on yourself, use MSI Database Reader & Reporter . Create installer reports with it and do report diffs between builds to detect changes. It’ll find you installer defects. I promise.

Leave a Reply

Your email address will not be published. Required fields are marked *