0X80080004

CO_E_BAD_PATH (0X80080004) – Quick Fix for COM Object Path Error

Windows Errors Intermediate 👁 0 views 📅 Jun 10, 2026

COM can't find the object's path. Usually a corrupt registry entry or missing DLL. Fix it by rebuilding the COM cache or repairing the app registration.

You’re staring at CO_E_BAD_PATH (0x80080004), and it’s a pain

Yeah, I know. You’re trying to launch some app or component, and Windows throws this COM error. Don’t panic. I’ve seen this dozens of times — it’s almost always a registry path pointing to a missing DLL or a corrupted COM class ID. Here’s how you fix it in about 10 minutes.

The Quick Fix – Rebuild the COM Cache and Re-register the Object

The culprit here is almost always a stale or missing entry under HKEY_CLASSES_ROOT\CLSID or HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID. The object path in the registry points to a DLL that’s been moved, deleted, or corrupted. Don’t bother with System File Checker — it rarely helps here because it’s not a system file issue.

Step 1: Find the Offending CLSID

First, check the app or component that’s failing. If you know the application name, open Event Viewer → Windows Logs → Application. Look for an event with Source “Microsoft-Windows-DistributedCOM” or “COM+” and Event ID 10016. It’ll show you the CLSID and AppID that’s failing. Copy that CLSID.

If you don’t have an event, run the failing app and capture the error with Process Monitor. Filter by “Path contains CLSID” and look for a failed registry query.

Step 2: Re-register All COM+ Components

Open an elevated Command Prompt (right-click → Run as administrator). Then run:

regsvr32 /i /n /s vbscript.dll
regsvr32 /i /n /s jscript.dll
regsvr32 /i /n /s scrrun.dll

That re-registers the core scripting engines. Next, rebuild the COM+ catalog:

cd /d %windir%\system32\com
dcomexp /silent
regsvr32 /s comadmin.dll
regsvr32 /s comsvcs.dll
net stop comsysapp
net start comsysapp

This re-registers COM+ infrastructure and restarts the COM system application. It’s the nuclear option, but it works 80% of the time.

Step 3: Repair the Specific CLSID in Registry

If the error persists, open Regedit (elevated) and navigate to the CLSID you found. For example:

HKEY_CLASSES_ROOT\CLSID\{Your-CLSID-GUID}

Under that key, look for InprocServer32. The (Default) value should contain the full path to a DLL or EXE. If it’s blank or points to a nonexistent file, that’s your problem. Fix it by updating the path, or if the component came with an installer, run a repair installation of the software that owns it. For Microsoft components (like Office or Windows features), run dism /online /cleanup-image /restorehealth and then sfc /scannow.

Why This Works

CO_E_BAD_PATH means COM resolved the CLSID but couldn’t load the server — the path is bad. By re-registering the DLLs, you’re rewriting those registry paths from the DLL’s own metadata. The COM+ catalog rebuild reinitializes the entire COM infrastructure, clearing out orphaned entries. When you fix a specific path manually, you’re telling the system exactly where the object lives. The error is just a broken map — you’re fixing the map.

Less Common Variations – When the First Fix Fails

Sometimes the standard fix doesn’t cut it. Here are three scenarios I’ve hit:

Variation 1: 32-bit vs 64-bit Mismatch

If you’re on a 64-bit system and the COM object is 32-bit, the path in the registry might point to C:\Windows\SysWOW64\ instead of System32. Check both. Run the 32-bit version of regsvr32 from %windir%\SysWOW64\regsvr32.exe for those DLLs.

Variation 2: DCOM Permissions

The error can also happen if the user account doesn’t have launch permissions. Open Component Services (dcomcnfg.exe) → Component Services → Computers → My Computer → DCOM Config. Find the AppID from the event log, right-click → Properties → Security. Ensure the launching user (or Everyone) has Launch and Activation permissions. I’ve seen this trip up after domain policy changes.

Variation 3: Corrupt User Profile

Rare but real. If the error only happens for one user, their profile’s COM registration cache could be borked. Create a new local admin user and test. If it works, migrate the data and delete the old profile. Don’t bother fixing the old one — it’s faster to nuke it.

Prevention – Keep Your COM Registries Clean

Stop this from recurring with three habits:

  • Uninstall apps properly. Don’t just delete files — use the official uninstaller. Orphaned COM entries are the main cause.
  • Don’t manually delete registry keys unless you’re 100% sure. One wrong CLSID deletion breaks half your apps.
  • Run regsvr32 /u before removing a DLL. If you’re cleaning up old COM components, unregister first. Keeps the registry tidy.

That’s it. You should be back in business. If not, you might be dealing with a corrupted OS image — try an in-place upgrade install. But I’m betting you’re fine now.

Was this solution helpful?