When you get this anoying message "Error accessing the OLE Registry. Error 0x8002801C" and your dll/ocx won't register this is what is causing the problem. In the registry under
HKCU\Interface\{Yourdll/ocxCSLID} and HKLM\SOFTWARE\Classes\TypeLib\{Yourdll/ocxCSLID}  I have found the permissions have been changed to Read Only in the Administrators Account. I don't yet know how they have been changed it but I have a sneaking suspicion that it was a Microsoft Security Update that was not well tested. My guess is that in an attempt to lock down your machine from suspicious activity, these keys were locked down in the administrators account, since about every home user runs under that account. I believe they locked down all installed components with read only permissions so that they could not be altered. Not thinking that a user would need to update their own components. This is why you only get this message on components that were installed prior to that update. As you well know with read only permissions you won't be able to write to that registry key and that is what the problem is. The only way that I know of as how to change this problem is to go to that key and change the permissions to "Full Control" by checking all available settings.

        The way that I found best to verify this is to run RegMon and filter all activity except regsvr32.exe. Run your installation and when you get the error, switch to Regmon and look in the results column from the bottom for ACCDENIED. That will be the key that has the error. Highlight that line then from the main menu select Edit->Regedit Jump or just Double Click on that line and regedit will open and navigate to that key. Right click on that key then select Permissions. You will see that  "Special Permissions" is probably checked and greyed out, Click on Advanced and you may see two entries and only one has "Full Control" rights to that key and that would be the SYSTEM.
        The other user would probably be the Administrator and it will only have Read Permissions (Some Special Permissions, Huh!). This is the reason you can't register the dll/ocx. It seems that it was registered once and you are not allowed to register it again. This may be good for Virus activity but if you need to update this component you will not be able to. You will need to select the Aministrators Account then click on Edit to change the permissions. When you change the permissions, checkmark Full Control and all the available options will be checked also. Click OK to apply, you will see that you now have "Full Control" and should be able to update that key. Important, make sure the Users group only has Read Permissions. Return to the setup error message to click "Retry". Follow these steps until your error message goes away. You can take the shorter approach and select the Interface key then give full permissions to the Administrators group and this will handle all the errors. return to your setup then click "Retry" and you should get no more errors. Please remember to backup your registry with a Restore point first before doing any registry changes. Even the best of us may slip and press the wrong button and these things cannot be undone automatically in the registry. So, Be safe not sorry!


Written and Tested By:
Ralph James
Randem Systems, Inc.
December 5 2007
Randem Systems
Your Installation Specialist
All Support is Done Thru Our Support Board.
http://www.randem.com/cgi-bin/discus/discus.cgi