• Registry Problem (VB6)

    Author
    Topic
    #413490

    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:

    Error accessing the system registry

    This has also caused an error with the Inet1 control.

    Has anyone else seen this error and have a fix ?

    Thanks

    Viewing 1 reply thread
    Author
    Replies
    • #912751
      • #912753

        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

      • #912754

        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

      • #1084537

        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 the sysinternals site.

        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

    • #912752
    Viewing 1 reply thread
    Reply To: Registry Problem (VB6)

    You can use BBCodes to format your content.
    Your account can't use all available BBCodes, they will be stripped before saving.

    Your information: