Fix TYPE_E_REGISTRYACCESS (0X8002801C) OLE Registry Error
This error means Windows can't read an OLE registry key. The fix is resetting permissions on HKEY_CLASSES_ROOT\CLSID. Takes 5 minutes.
You're stuck with error 0X8002801C — let's fix it right now
This error pops up when Windows tries to register a COM object or read an OLE registry key and gets denied. You'll see it in apps like Microsoft Office, AutoCAD, or custom business software that uses ActiveX controls. The message says "Error accessing the OLE registry" which is technically true but not helpful. Here's what actually works.
The fix: reset permissions on HKEY_CLASSES_ROOT\CLSID
Skip all the other junk you'll find online about reinstalling Windows or running SFC. The real cause is almost always corrupted or restricted permissions on the CLSID registry key. Here's the step-by-step.
- Press Windows Key + R, type
regedit, and hit Enter. If User Account Control asks, click Yes. - In the left pane, navigate to
HKEY_CLASSES_ROOT\CLSID. Click on the CLSID folder to select it. - Right-click CLSID and choose Permissions.
- In the Permissions dialog, click Advanced at the bottom.
- You'll see a list of permission entries. Look for the Owner at the top. It should say TrustedInstaller. If it doesn't, click Change next to the owner name.
- In the "Enter the object name to select" box, type
NT SERVICE\TrustedInstallerand click Check Names. It should underline it. Click OK. - Check the box Replace owner on subcontainers and objects. Click Apply. Wait — this might take 30 seconds to a minute on older machines. You should see the progress bar complete.
- Now back in the Advanced Security Settings, click Add to add a new permission entry.
- Click Select a principal, type
Everyone, click Check Names, then OK. - For Type, leave it as Allow. For Applies to, choose This key and subkeys.
- Under Basic permissions, check Read. Don't check Full Control — that's a security risk. Click OK.
- Still in Advanced Security, check the box Replace all child object permission entries with inheritable permission entries from this object. Click Yes when it warns you.
- Click Apply and let it finish replacing permissions. Then click OK on all open dialogs.
- Close Regedit and restart your computer. This step matters — the changes don't fully take until a reboot.
After reboot, try the app that was failing. If it still throws 0X8002801C, you might have a second issue I'll cover in the variations section below.
Why this works
The CLSID key under HKEY_CLASSES_ROOT stores GUIDs for every COM and OLE object on your system. When an app tries to create an object (like a Word document inside Excel), Windows looks up the CLSID to find the server DLL path. If the key permissions are broken — maybe from a bad uninstall, a malware cleanup, or a registry cleaner tool — Windows can't read the entries. The error code 0X8002801C literally means TYPE_E_REGISTRYACCESS, which is COM's way of saying "I can't open the registry key." By resetting ownership to TrustedInstaller and giving Everyone Read access, you restore the default Windows permissions that were set when you installed the OS.
One thing to know: TrustedInstaller is the standard owner for CLSID. Some people say to give Administrators ownership, but that can cause other COM issues. Stick with TrustedInstaller.
Less common variations and edge cases
User-specific CLSID permissions
If the above didn't work, the problem might be in HKEY_CURRENT_USER\Software\Classes\CLSID. That's the per-user version of CLSID. Some apps store registration there. Repeat the same permission fix on that key — same steps, just different location.
Corrupted CLSID entry (rare)
In maybe 5% of cases, a specific CLSID key is corrupted, not the whole hive. To check: when the error appears, note the calling app. Open Event Viewer (Windows Key + R, type eventvwr). Go to Windows Logs > Application. Look for an error from the app that crashed. It might list a specific CLSID like {00024500-0000-0000-C000-000000000046}. If you see one, open Regedit, go to HKEY_CLASSES_ROOT\CLSID\{that-guid}. Check the InprocServer32 or LocalServer32 subkey — the default value should point to a valid DLL or EXE path. If the path is wrong or missing, you'll need to repair or reinstall the software that owns that CLSID. There's no safe way to guess what it should be.
Antivirus blocking registry access
I've seen McAfee and some third-party firewalls intercept registry calls and block them, producing 0X8002801C. Temporarily disable your antivirus (not Windows Defender — that's fine). If the error goes away, add an exception for the failing application in your AV settings.
Prevention — keep this from coming back
Three things cause this error to recur:
- Registry cleaners. Don't use them. CCleaner's registry cleaner, Auslogics, Wise Registry Cleaner — they all strip permissions thinking it's junk. Windows doesn't need cleaning.
- Aggressive uninstalls. When you uninstall software, use the official uninstaller or Revo Uninstaller in safe mode. Don't manually delete registry keys you don't understand.
- Permission changes by security tools. Some "privacy" apps restrict registry access to CLSID. If you run O&O ShutUp10 or similar, check that it hasn't disabled COM registry access. Reset those settings.
If you need to grant permissions again in the future, you'll know exactly how. The fix is the same every time. Save this guide somewhere — you won't find a clearer one.
Was this solution helpful?