The COM+ catalog is a catalog of all the available COM+ applications, classes and attributes on a given system. Windows keeps this catalog to make sure that there's consistency between the various COM+ attributes and exposes it through various programming interfaces. If the catalog becomes damaged, programs that rely on COM+ won't work properly (or at all!).
One example of such a service that depends on COM+ is the Volume Shadow Copy Service used by (among other programs) the Microsoft NTBACKUP application. NTBACKUP can make backups of system files or other locked files by using Volume Shadow Copy. However, if NTBACKUP fails with an error in the Volume Shadow Copy COM+ service, odds are the catalog has been damaged and needs to be repaired. (Another symptom of a damaged COM+ catalog is when many programs hang continuously for minutes on end, but this is a minor, less well-documented symptom.)
To repair a damaged COM+ catalog, do the following:
- Locate the file %WinDir%\System32\Clbcatq.dll and rename it to ~Clbcatq.dll (note the tilde). %Windir% is an environment variable that usually translates to C:\Windows.
- Reboot the computer in Safe Mode.
- Open the Registry and delete the key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3.
- Look in the %WinDir% directory for a subdirectory named Registration. Delete Registration entirely, including any files inside it.
- Reboot the machine normally.
- At a command line, type regsvr32 %windir%\system32\ole32.dll, and click OK on the acknowledgement that comes up.
- Open Control Panel | Add/Remove Programs | Add/Remove Windows Components.
- Click Next to reinstall COM+. You do not need to select any components to add or remove; COM+ is reinstalled automatically as a matter of course.
You shouldn't have to reboot after this; the re-registered COM+ services should work immediately.
Serdar Yegulalp is editor of the Windows Power Users Newsletter. Check it out for the latest advice and musings on the world of Windows network administrators -- and please share your thoughts as well!