Microsoft KB Archive/274038

From BetaArchive Wiki

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 "Library not registered" 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: "Library Not registered" 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.

  1. Find the line of code that is failing, for example:

    Server.CreateObject("MSWC.BrowserType")
                            

    The text string, "MSWC.BrowserType", is the ProgID (Program ID).

  2. On the Start menu, click Run. At the command prompt, type the following command to start the registry editor:

    RegEdt32.exe

  3. 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 "MSWC.BrowserType" is {0ACE4881-8305-11CF-9427-444553540000}.
  4. 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.

TypeLib

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 "Change Permission for TypeLib" section.

If there is no TypeLib entry, perform the following steps:

  1. Select the InprocServer32 or LocalServer32 entry. Record the path and file name of the component that is on the hard disk.
  2. 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:
    • 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.
    • 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.
    • Complete the Visual Studio Setup, and start OleView.
  3. In OleView, on the File menu, click View TypeLib.
  4. 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:
    // typelib filename: browscap.dll
    
    [
      uuid(E0049865-0766-11D1-8AAB-00C0F00910F9),
      version(1.0),
      helpstring("MSWC Browser Capabilities Object Library")
    ]
                                
    Record the TypeLib UUID, which is (E0049865-0766-11D1-8AAB-00C0F00910F9) in this example.

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:

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 "inetinfo*;dllhost*;mtx*". To further restrict the filter, select the Log Errors, Log Reads, and Log Other check boxes. In the log, look for "ACCDENIED" 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.


REFERENCES

For additional information, click the article numbers below to view the articles in the Microsoft Knowledge Base:

259176 PRB: Error 8002801d Occurs When You Create a CDONTS.NewMail


266621 PRB: "Library Not registered" Problem with Crystal Reports 8.0


272693 0x8004005 ASP Error Occurs with Crystal Reports 8


268553 PRB: Visual Studio Installation Problems if Crystal Reports 8 Is Installed



Additional query words: ASP 0177 : 8002801d

Keywords: kbctrl kbprb kbsecurity kbsysadmin KB274038