Help me help you if you have setup bugs

I've gotten some email questions from customers about setup failures that they've seen on their computers. Some of them are 1935 errors that match some of the previous blog posts I've written, some are .NET Framework errors, and some are general problems getting some program installed.

I cannot guarantee that I will be able to help solve all setup-related problems you may encounter, but I can guarantee that I will take a look and try to help if I can. In order to do so I would like to ask that you try to gather some detailed information and send it to me if you contact me via email to aid in troubleshooting and debugging:

  1. As much detail about the error message as possible, including the full text of any error messages.
  2. Any troubleshooting steps that you have already tried, including links to any of my other blog posts that you've already tried.
  3. Most importantly - log files from the setup if at all possible. You can zip and upload log files to a file server of your choice and include a link to the log files when you contact me. My preference is http://skydrive.live.com because it is free, gives you a lot of storage space, and doesn't contain annoying ads to try to get you to pay for "premium" services like faster download speeds.

Most setups are Windows Installer MSIs. For those products, you can enable verbose logging by setting a couple of registry values and then reproducing the problem. Here are a set of steps you can use to gather a Windows Installer verbose log file:

Important note - some MSI-based setups, including the .NET Framework 2.0, 3.0, 3.5 and higher, will not create log files named %temp%\msi*.log even if using the instructions listed below. Please see this blog post for more details about why that is the case and also for a list of some products that I know of that use different log file creation logic and the locations of the log files that they create.

  1. If you are running Windows XP or older: Click on the Start menu, choose Run, type cmd and click OK
  2. If you are running Windows Vista or newer: Click on the Start menu, choose All Programs, then Accessories, then right-click on the item named Command prompt and choose Run as administrator
  3. Copy this command into the cmd prompt and press enter to run it: reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer" /v Debug /t REG_DWORD /d 7 /f 
  4. Copy this command into the cmd prompt and press enter to run it: reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer" /v Logging /t REG_SZ /d voicewarmupx! /f
  5. Re-run the setup and let it fail one more time
  6. Go to your temporary folder (go to the Start menu, choose Run, and type %temp%)
  7. Locate a file named msi*.log (where * is a randomly generated set of letters and numbers)
  8. Zip the msi*.log file (because it tends to be very large but since it is text it compresses nicely)
  9. Run this command in the cmd prompt: reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer" /v Debug /f
  10. Run this command in the cmd prompt: reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer" /v Logging /f
  11. Upload the zipped log files to a file server such as http://skydrive.live.com

<update date="3/27/2007"> Changed steps to enable/disable verbose logging to not require downloading .reg files from my file server </update>

<update date="2/27/2008"> Added a link to a new blog post with information about some products that create their own verbose log files and therefore do not create %temp%\msi*.log, even when the verbose logging policy is enabled on the system. </update>

<update date="12/2/2010"> Added information about uploading log files to http://skydrive.live.com. </update>

<update date="11/17/2011"> Added clarifications to steps 2 and 3 to indicate that the commands need to be run separately, not as a single command. Also added a note about running as administrator on Windows Vista or later. </update>