Results 1 to 4 of 4
  1. #1
    Silver Lounger
    Join Date
    Jun 2002
    Location
    Cheadle, Staffordshire
    Posts
    2,177
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Registry Problem (VB6)

    Hello all

    We've changed recently to server 2003 and also changed a profile on my desktop PC.

    Now when I try to open "Project References" from the menu, I get:

    <pre>Error accessing the system registry</pre>


    This has also caused an error with the Inet1 control.

    Has anyone else seen this error and have a fix ?

    Thanks

  2. #2
    Plutonium Lounger
    Join Date
    Mar 2002
    Posts
    84,353
    Thanks
    0
    Thanked 29 Times in 29 Posts

    Re: Registry Problem (VB6)


  3. #3
    Silver Lounger
    Join Date
    Jun 2002
    Location
    Cheadle, Staffordshire
    Posts
    2,177
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Re: Registry Problem (VB6)

    Pheeeewwww !!!!

    Lots of keys in there ?

    I think I'll try a re-install first and see if it see's the current profile instead.

    Thanks Hans

  4. #4
    3 Star Lounger
    Join Date
    Feb 2003
    Location
    Runcorn, Cheshire, United Kingdom
    Posts
    372
    Thanks
    0
    Thanked 2 Times in 2 Posts

    Re: Registry Problem (VB6)

    apologies for the length, but it contains a bit of a how-to. . .

    Just a note to let any future searchers know what worked for me when I got the same problem.

    The Microsoft site describes the problem as specifically occurring after installing Crystal Reports 8, but from my own experience it seems that the problem can be caused without involving that particular program.

    This error seems to arise when a Typelib entry in the registry has damaged permissions that prevents the key from being expanded, hence we cannot read the details of the associated Reference into VBA.

    First step is to diagnose the specific entry.
    As suggested on the Microsoft site, download and run RegMon from <A target="_blank" HREF="http://www.microsoft.com/technet/sysinternals/utilities/regmon.mspx">the sysinternals site.
    </A>
    Set a filter on Regmon to display strings including the word 'denied'.
    Clear the Regmon display (ctrl + X)
    Open the Office program and hit Alt+F11 to bring up the VBA editor.
    Go to Tools | References...
    Wait until the "Error accessing the System Registry" messagebox appears.

    Regmon should show the offending registry key with an ACCESS DENIED result.. The useful info is given in the path info, which should include the CLSID

    Backup the registry before making any changes.

    Use Regedit to find the offending key (in this case I searched HKEY_CLASSES_ROOTTypelib for the CLSID C523F390-9C83 etc etc. ) - yours is likely to be different.
    Confirm that you cannot expand the key to retrieve the details.

    Then, depending on your Operating System

    Windows XP
    1. Select HKEY_LOCAL_MACHINE
    2. In the menu, select "Edit", "Permissions". A dialog will come up.
    3. Check "Allow" for "Read" and for "Full Control", then click OK
    4. Expand HKEY_LOCAL_MACHINE and repeat steps 3, 4 for the keys "Software" and "System"
    5. Expand the "Software" key, and repeat steps 3, 4 for "Classes"
    6. Expand the "Classes" key, and repeat steps 3, 4 for "Installer"
    7. If you have made any changes in steps 1 through 7, skip to step 10.If you did not make any changes, continue with step 9.
    8. Open the "Classes" key, and click on "Installer" . In the menu, click "Security", "Permissions." Click the button marked "Advanced." Check "Reset Permissions on all child objects.", then click OK
    9. Close the registry editor
    10. Reboot the computer

    Windows 2000 or NT
    1. Select HKEY_LOCAL_MACHINE
    2. In the menu, select "Security", "Permissions". A dialog will come up.
    3. Check "Allow" for "Read" and for "Full Control", then click OK
    4. Repeat steps 3, 4 for the keys "Software" and "System"
    5. Expand the "Software" key, and repeat steps 3, 4 for "Classes"
    6. Expand the "Classes" key, and repeat steps 3, 4 for "Installer"
    7. If you have made any changes in steps 1 through 7, skip to step 10. If you did not make any changes, continue with step 9.
    8. Open the "Classes" key, and click on "Installer" . In the menu, click "Security", "Permissions." Click the button marked "Advanced." Check "Reset Permissions on all child objects.", then click OK
    9. Close the registry editor
    10. Reboot the computer

    Go back into Regedit and you should find that you can now set Full Control permission on the CLSID entry that was causing the problem. While doing this, check "Reset Permissions on all child objects.", then click OK.

    Hopefully, you can now expand the CLSID enough to read the subkey that contains the Reference name.

    Once you can do this, you should find that you can now open the References dialog. You may still get ACCESS DENIED errors showing in RegMon, but youíre only really interested in opening VBA references dialog arenít you?

    Cheers
    Attached Images Attached Images

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •