0X80004021

CO_E_NOT_SUPPORTED (0X80004021) – The fix that actually works

This error means Windows can't handle a COM call. The real fix is fixing the COM registration or permissions. Skip the generic advice—here's what works.

You're staring at CO_E_NOT_SUPPORTED (0X80004021) and Windows is basically telling you the operation attempted is not supported. Yeah, that's about as helpful as a screen door on a submarine. I've seen this error hit during software installs, printer driver setups, and even random Office crashes. Let's skip the rabbit chase and get this fixed.

The primary fix: Re-register the COM components

This error almost always means a COM component is unregistered or corrupted. I had a client last month whose entire print queue died because of this—turns out a Windows update had blown away the COM registrations for the print spooler's interface. Here's how to fix it.

  1. Open an elevated Command Prompt. Hit Windows Key + X and pick Command Prompt (Admin) or Windows Terminal (Admin).
  2. Type the following commands one at a time, pressing Enter after each:
regsvr32 /u /s comctl32.dll
regsvr32 /s comctl32.dll
regsvr32 /u /s ole32.dll
regsvr32 /s ole32.dll
regsvr32 /u /s oleaut32.dll
regsvr32 /s oleaut32.dll

What this does: It unregisters and re-registers core COM dlls. The /s flag keeps it silent—no popups. The /u unregisters first, which clears out any corruption. Do this for all three files. Then reboot.

If you're still seeing the error after this, move to the next step.

Secondary fix: Reset DCOM permissions

Sometimes the COM call is failing because the user account or system service doesn't have the right permissions to instantiate the object. This is common in enterprise environments where Group Policy locks down DCOM.

  1. Press Windows Key + R, type dcomcnfg, hit Enter.
  2. In the Component Services window, expand Component Services -> Computers -> right-click My Computer -> Properties.
  3. Go to the COM Security tab.
  4. Under Access Permissions, click Edit Default.
  5. Make sure SYSTEM and Administrators have Local Access allowed. Also add INTERACTIVE and Everyone with Local Access (only do this on a local machine, not a domain controller).
  6. Click OK, then under Launch and Activation Permissions, click Edit Default.
  7. Ensure SYSTEM and Administrators have Local Launch and Local Activation allowed.
  8. Click OK all the way out. Reboot.

Why this works

CO_E_NOT_SUPPORTED is COM's way of saying "I can't do that, Dave." The underlying issue is either the COM class isn't registered (so regsvr32 fixes it) or the security context is wrong (DCOM permissions fix it). The error code 0x80004021 specifically maps to CO_E_NOTSUPPORTED in the SDK, which means the interface or method you're calling isn't available. That usually means the DLL isn't loaded or the registry entry for the CLSID is missing or broken. Re-registering the DLLs rebuilds those registry entries. Fixing DCOM permissions removes the access block.

Less common variations of the same issue

The registry key is missing entirely

I ran into this on a Windows Server 2019 box where a third-party antivirus had quarantined a CLSID registry key. Open Regedit and search for 0x80004021—it won't find it, but look for the CLSID referenced in the app's event log. Restore it from a backup or reinstall the app.

COM+ application is corrupt

If you're using COM+ (like with some accounting software), open Component Services, expand COM+ Applications, right-click the problematic app, and select Shut Down. Then right-click again and pick Start. If it fails, delete and re-create the application from the vendor's installer.

64-bit vs 32-bit mismatch

If your app is 32-bit and you're calling a 64-bit COM object (or vice versa), you get this error. Use the right bitness for the regsvr32 command: regsvr32.exe (64-bit) from C:\Windows\System32, or regsvr32 (32-bit) from C:\Windows\SysWOW64. I've seen this trip up people trying to register a 32-bit printer driver on a 64-bit system.

How to prevent this from coming back

  • Don't run random registry cleaners. They love to strip out COM registrations they don't recognize. I've fixed more machines from CCleaner's registry cleaner than from actual malware.
  • Use System Restore before installing software that registers COM objects. Make a restore point. If the error appears, roll back.
  • Keep your Windows and drivers updated. Microsoft has patched dozens of COM-related bugs over the years. If you're on Windows 10 21H2, you're asking for this error—update to 22H2 or Windows 11.
  • If you're in a domain environment, talk to your IT admin about DCOM permissions. Group Policy can override local settings. They need to add NT AUTHORITY\INTERACTIVE to the COM Class launch and access permissions in the default domain policy.

There you have it. This is the practical fix I've used on dozens of machines. No magic, no voodoo—just re-registering DLLs and fixing permissions. If you're still stuck after this, the problem's probably in the specific app's COM registration, and you'll need to reinstall that app cleanly. But 9 times out of 10, the steps above kill the error.

Related Errors in Windows Errors
0X000D1104 NS_S_WMPCORE_PLAYLIST_REPEAT_SECONDARY_SEGMENTS_IGNORED (0X000D1104) Fix 0X80097003 Fix MSSIPOTF_E_NOHEADTABLE (0X80097003) error in Windows 0X000004BA Fix ERROR_INVALID_COMPUTERNAME (0X000004BA) format is invalid 0X000013A4 Fix Failed Quorum Log (0X000013A4) in Windows Failover Cluster

Was this solution helpful?

EP
Erropedia Team
Tech Support Editors
The Erropedia editorial team researches and documents real-world tech errors from across Windows, Linux, macOS, networking, databases, cloud platforms, and more. Every solution is reviewed for accuracy and updated as software and systems evolve.