The Dell KACE Appliance, and the service desk, has dramatically reduced my workload. Instead of being reactive, I am now very much proactive in the work that I do.
Jacob Lee, IT Help Desk Manager
US Synthetic

How to Enable MSI Logging with the K1000 appliance and other ways

MSI Logging in general

Windows Installer supports detailed logging as a powerful diagnostic tool. Logging can be enabled in the following ways:

Command-line

If installing an MSI package from the command-line, the /L switch can be used to enable logging. For example, the following command installs Package.msi and outputs verbose logging to c:\Package.log:
msiexec /i Package.msi /l*v c:\Package.log

You could add that entry to your command line as specified in:

Note: make sure the path to msiexec is in your system PATH

Windows Registry

You could use the scripting command "Set a registry value" and use the information here.

The following registry value can be used to enable verbose logging:

Key: HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Installer
Value Name: Logging
Type: REG_SZ
Data: voicewarmup

NOTE: all the switches together spell "voicewarmup"!

The resulting log is named MSI###.log (where "###" is a unique random identifier) and is placed in the user's Temp directory (the 'temp' directory location is per-user, and is pointed to by the environment variable %temp%).

Group Policy (not using the K1000 appliance)

If you have an Active Directory you can use that to deploy Group Policy The following Group Policy setting can be used to manage logging on multiple systems:
Computer Configuration -> Administrative Templates -> Windows Components -> Windows Installer -> Logging.

Windows Installer API

If repackaging or writing your own MSI package programmatically, the MsiEnableLog function call can be used to create a log file and set the logging level for the life of the calling process.

MsiLogging property

Windows Installer 4.0 introduces the MsiLogging property, which can be set to a list of flags indicating what information to log. The flags are similar to the flags that can be added to the /L switch to msiexec.exe or to the Logging policy setting. If MsiLogging is used, the MsiLogFileLocation property will be set to the location of the log file.

Reading MSI Logs

Although verbose logs are very useful for diagnosing Windows Installer problems, they can be very long and difficult to read without practice. A quick way to find the location of a problem in the log is to open it in a text editor (such as Notepad) and search for the phrase "Return Value 3". This entry commonly appears in logs close to the point where a critical error has occurred. The Windows Installer SDK provides a tool called WiLogUtl, which parses and annotates Windows Installer log files.

To output debug information in the log file, pass "x" on the command line or add it to the Logging registry value. For example, the following command installs Package.msi and outputs debug, verbose logging to c:\Package.log:

msiexec /i Package.msi /l*vx c:\Package.log 
Categories for this entry
Updated on: 5/17/2011