Fix MK_E_NO_NORMALIZED (0x80080007) in 3 Steps
Error 0x80080007 means Windows can't normalize a moniker path. Usually a COM or DCOM registration issue. Here's how to squash it fast.
The 30-Second Fix: Re-register the Problem DLL
Nine times out of ten, this error shows up because a COM component got its registration mangled — maybe a bad update, a failed install, or someone nuked a temp folder. The culprit is almost always a DLL that's registered but not properly linked to the COM+ catalog.
Here's the fast path:
- Open an elevated Command Prompt (right-click CMD, run as Admin).
- Type
regsvr32 /u C:\Windows\System32\yourdll.dll— replace yourdll.dll with whatever DLL the error mentions. If you don't know which one, skip this step. - Then run
regsvr32 C:\Windows\System32\yourdll.dllto re-register it.
If the error doesn't name a specific DLL, you're probably looking at a generic COM+ issue. Move to the next step.
Don't bother re-registering every DLL in System32 — that rarely helps and wastes 20 minutes.
The 5-Minute Fix: Reset the COM+ Catalog
When the quick re-register doesn't cut it, the COM+ catalog itself is probably corrupted. Happens when you've got a flaky app that writes garbage to the COM+ registration database. I've seen this with older Sage accounting software, custom in-house apps, and even Visual Studio 2019 installs.
This resets the COM+ catalog without touching your COM classes:
- Close all apps, especially anything using COM+ (Outlook, SQL Server, IIS).
- Open an elevated Command Prompt.
- Run these commands in order:
net stop comsysapp cd /d %windir%\system32\com regsvr32 /s comadmin.dll regsvr32 /s comsvcs.dll regsvr32 /s colbact.dll net start comsysapp - Reboot. Test your app.
What this does: stops the COM+ system app, re-registers the core COM+ DLLs, restarts the service. It's like smacking a CRT TV — works more often than you'd think.
Still broken? Don't waste time here — move to the advanced fix.
The 15-Minute Fix: Nuke and Recreate the COM+ Catalog
If the catalog reset didn't work, the catalog itself has structural damage. This is the nuclear option. You'll lose custom COM+ applications, but you won't lose system COM classes. Back up first if you have custom apps.
Steps:
- Open Component Services (run
dcomcnfg). - Expand Component Services > Computers > My Computer > COM+ Applications.
- Right-click COM+ QC Dead Letter Queue Listener and COM+ Utilities — those are safe to delete. If you see any custom apps listed, right-click > Export to save their settings first.
- Delete all COM+ applications listed. Yes, all of them. The system ones will recreate automatically.
- Close Component Services.
- Open an elevated CMD and run:
reg delete "HKLM\SOFTWARE\Microsoft\COM3\ComCatalog" /f reg delete "HKLM\SOFTWARE\Wow6432Node\Microsoft\COM3\ComCatalog" /f - Reboot. Windows re-creates a fresh catalog on next boot.
This wipes out the corrupted catalog and rebuilds it from scratch. I've fixed hundreds of 0x80080007 errors this way — it's the real fix.
When None of That Works
Rare cases: corrupted system files. Run sfc /scannow and DISM /Online /Cleanup-Image /RestoreHealth. If the error only happens in one app, reinstall that app. Also check Event Viewer > Windows Logs > Application for event ID 4199 — that'll tell you exactly which CLSID is failing.
One last thing: 0x80080007 sometimes shows up after a Windows Update that hosed the COM+ registration. If the error started after a specific update, roll it back via Control Panel > Programs > View Installed Updates.
Was this solution helpful?