MSI installation locks up machine towards the end

1

I have two Windows XP machines that lock up for a few seconds towards the end of installing any MSI. The only things they seem to have in common are:

  1. I install a lot of software on them
  2. I go through periods where I am constantly installing and uninstalling Continious integration builds of the SharpDevelop MSI. These MSIs are made with WiX

As far as antivirus etc, one machine runs SpyBot Search and Destroy, including the teatimer component and AntiVir. The other runs Symantec Corporate Edition.

On one of the machines I develop several installers using Visual Studio Setup Projects.

Is it a known issue that having many MSIs installed or constantly installing and uninstalling MSIs will cause performance issues during MSI installation? Are there any tools for cleaning up the MSI database?

Justin Dearing

Posted 2009-08-23T22:16:33.640

Reputation: 2 704

Answers

2

To debug these types of issues, it is usually necessary to invoke the installer from the command line and enable logging:

msiexec.exe /i TheInstaller.msi /log C:\SomeFolder\InstallLog.log

If you look in the log file, you might be able to see the particular installation phase it is getting held up and then narrow down the problem from there.

In the past, I had a problem where an installer for one of the products I was working on spent several minutes stuck at one of the final phases. It turned that I had several large crash dump files in my .NET GAC folders (due to a bug in this particular product) and Windows Installer didn't seem to like this. After I deleted those files, the issue went away.

bobbymcr

Posted 2009-08-23T22:16:33.640

Reputation: 1 992

@bobbymcr I will try this when I get a chance and let you know the results. – Justin Dearing – 2009-09-02T00:33:47.700

1

You can try the Windows Installer Cleanup Utility

I used it in the past when I had similar issues, especially when versioning MSI installers. I eventually switched to NCIS and haven't had problems since.

I am assuming the machine with Norton is giving you issues. We ended up having to move to McAfee at work because of this problem with Corporate edition, and Norton was willing to acknowledge a problem.

I also recommend CCleaner. It has a built in uninstaller tool that works extremely well.

I am not aware of any applications that will be able to clean up the whole repository, but these tools should make it easier.

BinaryMisfit

Posted 2009-08-23T22:16:33.640

Reputation: 19 955

Diago, Thanks for the answer, but that utility is only good if I have one program mucking up my MSI database. I need something that will clean up my entire MSI repository. What is NCIS? Do you mean Nullsoft Scriptable Installer System? If so I've used it in the past (http://nsis.sourceforge.net/Special:Contributions/Zippy1981) but prefer MSI. Also, the Norton machine isn't giving any more issue. There was a brief problem where it was pegging one of my cores, not a big deal since I have two of them, as Jeff points out here (http://www.codinghorror.com/blog/archives/000285.html).

– Justin Dearing – 2009-08-23T22:43:22.137

0

You can also enable logging for both installing and uninstalling using the Registry (XP and Vista) :

  • Go to HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Installer. If the key "Installer" does not exist, create it.
  • Add a new string value named "Logging" with this value : voicewarmupx

That's all. The next time you will install or uninstall something, a log file will be created in the %%temp%% directory (to access it, open the Start menu, click on "Run", enter "%%temp%%" and click "Ok" - the log file name will begin with "MSI" and end with ".log").

Using this, I was able to solve a painfull problem on my system : installing or uninstalling anything took more then 20 minutes. Looking at the log, it turns out that creating a restore point alone took 20 minutes... I turned it off, I rebooted, I turned it on again, and now it's pretty fast ! Good luck.

Sylvain Rodrigue

Posted 2009-08-23T22:16:33.640

Reputation: 99