The famous 'Class not registered'
28.09.2006 Четверг 00:25
Software
Windows XP
COM+
Issue
I faced this error trying to publish a web site on my office Windows XP computer. When I was hitting http://localhost in IE I got some generic error instead of my web page and the following error in Event Log:
The server failed to load application '/LM/W3SVC/1/ROOT. The error was 'Class not registered'.
Cause
The issue is with broken COM+ catalog.
Resolution
The following articles have helped me to successfully resolve the issue.
To resolve this problem, reinstall Component Services as follows:
1. Open registry editor, locate HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3, and then delete this key.
2. From the Start menu, point to Settings, click Control Panel, and then click Add/Remove Programs.
3. Click Add/Remove Windows Components.
4. Proceed through the wizard, and accept all of the defaults.
5. Restart the computer.
Source:
http://support.microsoft.com/?id=301919
If the above didn't solve it, and you still receive the 'Class not registered' error message, then you need to recreate the IIS packages in COM+, try
a) Delete IIS related package in Component Services MMC
• IIS In-Process Applications
• IIS Out-of-Process Pooled Applications
• IIS Utilities
b) Open command prompt, navigate to %windir%\system32\inetsrv folder, and enter (case sensitive)
c:\winnt\system32\inetsrv\>rundll32 wamreg.dll, CreateIISPackage
then
c:\winnt\system32\inetsrv\>regsvr32 asptxn.dll
c) Enter IISRESET at command prompt to restart IIS services, then re-open Component Services MMC to verfiy the IIS packages are recreated.
If you got this while trying to fix the component services.
Error Code = 0x80040206
Non expected internal error
Not enable to register COM+ events classes.Try regsvr32 %windows%/system32/ole32.dll, then retry the kb to fix the component services.
Source:
http://msmvps.com/blogs/bernard/archive/2005/03/22/39216.aspx
If nothing of the above helped or some actions could not be completed, try this:
To clean up a damaged COM+ catalog:01. Rename %SystemRoot%\System32\Clbcatq.dll to %SystemRoot%\System32\~Clbcatq.dll, making sure that you include the tilde (~).
02. Shutdown and restart your computer.
03. Delete the COM3 sub-key from the registry at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft.
04. Open a CMD.EXE prompt.
05. Type pushd %SystemRoot% and press Enter.
06. Type rd /s /q Registration and press Enter.
07. Type popd and press Enter.
08. Type exit and press Enter.
09. Use Notepad to remove Hide from the COM= line in %SystemRoot%\Inf\Sysoc.inf.
10. For Windows XP:
A. Open a CMD.EXE window
B. Type the following commands, pressing ENTER after each line:
regsvr32 /s ole32.dll
regsvr32 /s oleaut32.dll
11. Start / Settings / Control Panel / Add/Remove Programs / Add/Remove Windows Components.
12. Press Next and reinstall COM+.
NOTE: If Windows File Protection blocks any of the above renaming and/or deletions, perform those steps in Safe Mode.
Source:
http://www.jsifaq.com/SF/Tips/Tip.aspx?id=6951