Microsoft KB Archive/274038

= PRB: ASP Error 8002801d &quot;Library Not Registered&quot; =

Article ID: 274038

Article Last Modified on 12/26/2006

-

APPLIES TO


 * Microsoft Visual InterDev 1.0 Standard Edition
 * Microsoft Visual InterDev 6.0 Standard Edition

-



This article was previously published under Q274038



IMPORTANT: This article contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows Registry



SYMPTOMS
When you browse an Active Server Pages (ASP) page, you may receive the following error message:

Server object error 'ASP 0177 : 8002801d'

Server.CreateObject Failed

/vdir/filename.asp, line xx

Library not registered.



CAUSE
The &quot;Library not registered&quot; detail string indicates that there is a problem with the registry information for this object. The registry entry may be missing or contain incorrect information, or the user may not have permission to read the registry entry. This article describes how to resolve the problem when the information in the registry is correct, but the user does not have permission to read it.

This problem can also occur when you install Crystal Reports 8. For additional information, click the article numbers below to view the articles in the Microsoft Knowledge Base:

266621 PRB: Error Message: &quot;Library Not registered&quot; Problem with Crystal Reports 8

272693 0x8004005 ASP Error Message Occurs When You Connect to a Database after Crystal Reports 8 Installation



RESOLUTION
To resolve this problem, give the Everyone group Read permission to the ClassID and TypeLib registry entries for the component that is failing.

NOTE: The ClassID and TypeLib registry entries are both long, hexadecimal numbers known as GUIDs (Globally Unique IDentifiers) or UUIDs (Universally Unique IDentifiers).

If the problem continues, you can also use the RegMon utility to determine which attempts to read the registry are failing. You may need to give the Everyone group Read permissions to other registry keys.

ClassID
WARNING: If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.

  Find the line of code that is failing, for example: Server.CreateObject(&quot;MSWC.BrowserType&quot;) The text string, &quot;MSWC.BrowserType&quot;, is the ProgID (Program ID).  On the Start menu, click Run. At the command prompt, type the following command to start the registry editor:

RegEdt32.exe

 In the HKEY_CLASSES_ROOT window, click to expand the ProgID key, and then click CLSID. Record the UUID value of this key. For example, the ClassID for &quot;MSWC.BrowserType&quot; is {0ACE4881-8305-11CF-9427-444553540000}. In the HKEY_CLASSES_ROOT window, click to expand the CLSID key, and then select the ClassID entry (UUID). On the Security menu, click Permissions. Make sure that the Everyone entry has Read permission; if not, add this permission entry.

Find TypeLib
Expand the ClassID entry from the preceding step 3, and locate the TypeLib entry beneath it. Record the UUID value, and then proceed to the &quot;Change Permission for TypeLib&quot; section.

If there is no TypeLib entry, perform the following steps:  Select the InprocServer32 or LocalServer32 entry. Record the path and file name of the component that is on the hard disk.</li> On the Start menu, point to Programs, point to Visual Studio, point to Visual Studio Tools, and then click OleView.

NOTE: If OleView is not listed, perform the following steps: <ul> In Control Panel, click Add/Remove Programs, and then click Add New Programs. Click Visual Studio, and then click Add. This starts the Visual Studio Setup.</li> To install all tools, select the Tools check box. Or, to install the OLE/COM Object Viewer, select the Tools check box, and click Change Option, and then select the OLE/COM Object Viewer check box.</li> Complete the Visual Studio Setup, and start OleView.</li></ul> </li> In OleView, on the File menu, click View TypeLib.</li> Open the component that was listed under the InprocServer32 or LocalServer32 entry. Text that resembles the following text (the Browscap.dll component was used in this example) should appear near the top:

<pre class="fixed_text">// typelib filename: browscap.dll

[ uuid(E0049865-0766-11D1-8AAB-00C0F00910F9), version(1.0), helpstring(&quot;MSWC Browser Capabilities Object Library&quot;) ]

Record the TypeLib UUID, which is (E0049865-0766-11D1-8AAB-00C0F00910F9) in this example.</li></ol>

Change Permission for TypeLib

 * 1) In the HKEY_CLASSES_ROOT window, click to expand the TypeLib key, and select the TypeLib entry (UUID).
 * 2) On the Security menu, click Permissions. Make sure that the Everyone entry has Read permission; if not, add this permission entry.

Use the RegMon Utility
If the problem continues after you change the permissions for ClassID and TypeLib, you can also use the RegMon utility to monitor registry activity while you run the failing line of code. The RegMon log shows if any attempts to read the registry fail. You can download RegMon from the following Sysinternals Web site:

http://www.microsoft.com/technet/sysinternals/default.mspx

Unless you set a filter, RegMon logs all registry activity from all programs. For example, to capture all Microsoft Internet Information Server (IIS) activity, set the filter to &quot;inetinfo*;dllhost*;mtx*&quot;. To further restrict the filter, select the Log Errors, Log Reads, and Log Other check boxes. In the log, look for &quot;ACCDENIED&quot; in the Results column, and review any keys with this result. You may need to give the Everyone group Read permissions to these keys.

Microsoft provides third-party contact information to help you find technical support. This contact information may change without notice. Microsoft does not guarantee the accuracy of this third-party contact information.

<div class="references_section">