When You'll See This Error
You're working in Microsoft Office, say Outlook trying to open a mailto link, or a custom line-of-business app that uses COM to launch a document. Suddenly you get a popup: MK_S_ME (0X000401E4). The app might close, or worse, just freeze. I've seen this on Windows 10 Pro 21H2 and Windows 11 22H2, especially after a security patch or a recent Office update.
What's Happening Under the Hood
COM (Component Object Model) uses monikers—think of them as shortcuts that point to a specific object, like a file or a running process. When the moniker tries to bind (connect) to that object, the system checks the class ID (CLSID) in the registry. If the path is missing, the permissions are wrong, or the COM cache is stale, it throws 0X000401E4. The key here is that the error code MK_S_ME means "Moniker Error"—the binding succeeded partially but then hit a snag. Usually that snag is a permission issue or a corrupted cache entry.
The real trigger? A mismatch between the moniker's expectation and what the registry has. For example, if you uninstalled an app that left orphaned CLSID entries, the moniker tries to use that old path and fails. Or if the current user doesn't have read access to that registry key, the bind breaks.
Step-by-Step Fix
Step 1: Grant Registry Permissions for the Moniker's CLSID
- Press Win + R, type
regedit, hit Enter. - Go to
HKEY_CLASSES_ROOT\CLSID. This is where all COM class IDs live. - Find the specific CLSID tied to your error. The error message might mention it, or you can search for the app name under
HKEY_CLASSES_ROOT\AppID. If you don't know the CLSID, check the app's Event Viewer logs: open Event Viewer, go to Windows Logs > Application, and look for an event with the error code. The details often includeCLSID: {12345678-...}. - Right-click that CLSID key, choose Permissions.
- Select Users or Everyone (depending on your setup) and check Read. If it's missing, add it: click Add, type
Everyone, check Read, OK. - Repeat for the
LocalServer32subkey if it exists—sometimes that's where permissions get locked. - Close regedit.
Step 2: Clear the COM Cache
- Press Win + R, type
cmd, right-click and choose Run as administrator. - Run:
This stops the COM+ System Application service. It might also stop DCOM and some other services—that's fine.net stop comsys - Then run:
This deletes the temporary COM cache files. They're regenerated on next start.del %SystemRoot%\System32\com\complus.staging\*.txt /q /s 2>nul - Restart the service:
net start comsys
Step 3: Rebuild the Component Services Database
- Open Command Prompt as admin again.
- Run:
This unregisters the COM+ catalog DLL.regsvr32 /u comcat.dll - Then:
Re-registers it.regsvr32 comcat.dll - Next:
and thenregsvr32 /u comadmin.dllregsvr32 comadmin.dll - Finally:
andregsvr32 /u msxml.dll
(if you have MSXML installed—most Windows systems do).regsvr32 msxml.dll
Step 4: Reset the COM+ Catalog
Skip this unless the above steps didn't work. It's a nuclear option: it resets all COM+ applications to default.
- Open Component Services: Win + R, type
dcomcnfg, hit Enter. - Expand Component Services > Computers > My Computer > COM+ Applications.
- Right-click COM+ Applications, choose New > Application. This wizard walks you through creating a test app—cancel out after starting it. That triggers a rebuild of the catalog.
- Close dcomcnfg.
If It Still Fails
Check the following:
- Check the Event Viewer logs more closely. Look under Applications and Services Logs > Microsoft > Windows > COM+ for specific error details. Sometimes the CLSID is obfuscated but shows up there.
- Verify the app isn't corrupt. For Office, run a repair: Control Panel > Programs > Microsoft Office > Change > Quick Repair. For a custom app, reinstall it.
- Check for antivirus interference. Temporarily disable it and test. I've seen McAfee and Bitdefender block COM moniker bindings thinking they're a security threat.
- Check for broken third-party shell extensions. Use a tool like ShellExView to disable non-Microsoft extensions, test, then re-enable one by one.
- Run system file checker:
sfc /scannowin an admin command prompt. Corrupt system files can cause this.
Most of the time, the registry permissions step alone fixes it. The cache and catalog rebuilds are backups if that's not enough. Don't waste time on random registry cleaners—they rarely help with COM errors.