A very useful tool when troubleshooting runtime errors in an .msi installation is the installation log. The installation log is a text file that contains a list of events, property values, components, and features Windows Installer evaluates in the installation. The log file helps determine when the error occurred in the installation sequence by listing the action that caused the runtime errors. Also contained in the log file are the source locations of the installation media, reboot status, and rollback status.
By default, running an .msi does not create an installation log. To create the log, you need to run the .msi with specific command line options. Depending on the command line options you use to define the log file, you can create a more or less verbose log. To get detailed information about the installation, generate a verbose log. For example, to specify a verbose log for an installation called example.msi, use the following command line (source: Windows Installer SDK):
msiexec.exe /i A:\example.msi /l*v C:\example.log
* Executable program that interprets packages and installs products
* Command line option to install or configure an .MSI
* Path to .MSI
* Command line option to create a verbose log with all available information
* Valid present path to a text file.
For more information about the command line parameters available when creating a log file, see the topic titled Command Line Options in the Windows Installer SDK.
After creating a verbose installation log, you can use the Windows Installer Setup Log Analyzer (Wilogutl.exe) to examine the log. The install log analyzer tool can be accessed from the Platform SDK for Windows Installer. Visit Microsoft's web site, to download the Platform SDK for Windows Installer.
The Windows Installer Setup Analyzer tool lets you parse and analyze the log file. Additionally the tool displays errors occurring in the installation and creates a text file report.
For best results during the test phase of your installation development, you should log all .msi installations on the testing computers. This ensures that an install log is created in the TEMP directory with a random name (MSI*.log) every time an .MSI is installed.
Unfortunately, when setting machine policy, you cannot specify the command line parameters for verbose logging with the l*v option. Instead, you must list each command line parameter with its corresponding letter. To quickly enter each command line parameter, simply remember VOICEWARMUP. This acronym includes the command line parameter V to create a verbose installation log. For details on the meaning of the remaining command line parameters in this acronym, please refer to the /L command line option in the topic titled Command Line Options in the Windows Installer SDK.
Set the following registry key to define the log file policy on the machine used for testing:
Value Name: Logging
Value Data: VOICEWARMUP
Generating an installation log is highly beneficial in troubleshooting runtime errors. When you consistently create installation logs, you can quickly access installation actions. By using the information in this article, you can create and analyze an installation log to make sure your installation runs efficiently.
Click here for more Windows Installer command line options.