What's going on with MK_E_NOINVERSE?
This error pops up when a program tries to use a moniker—a COM object that identifies another object—and the system can't reverse the action. In plain English, Windows is trying to undo a reference and it can't find the right code to do it. You'll see it in Office apps, media players, or any tool that uses drag-and-drop or object linking.
The usual trigger? A recent update or a failed install left a broken COM registration. Sometimes it's a leftover from an uninstalled program. The fix is straightforward: clean up the registration, then re-register the core files.
Here's the plan. Start with Step 1 (takes 30 seconds). If that doesn't kill the error, move to Step 2 (5 minutes). Step 3 is the heavy artillery.
Step 1: Restart the COM+ service
This sounds too simple, but it fixes a surprising number of cases. The COM+ Event System service caches moniker data, and a stale cache can cause exactly this error.
- Press Win + R, type
services.msc, hit Enter. - Scroll to COM+ Event System. Right-click it and choose Restart.
- Do the same for Distributed Transaction Coordinator.
After restarting both, try the action that failed. If the error's gone, you're done. If not, keep going.
Step 2: Re-register the system DLLs that handle monikers
When the registration gets corrupted, re-registering the core COM DLLs often clears it up. You'll need an elevated command prompt.
- Press Win + X, choose Terminal (Admin) or Command Prompt (Admin).
- Run these commands one by one. Wait for each to finish before the next.
regsvr32 /i ole32.dll
regsvr32 /i oleaut32.dll
regsvr32 /i urlmon.dll
regsvr32 /i actxprxy.dllYou'll see a popup saying DllRegisterServer succeeded for each. If you get an error on any of them, note which one—that's your culprit.
After all four, restart your PC. Then test the action. If it still fails, move to Step 3.
Step 3: Run SFC and DISM scans
This is the 15-minute fix. The error often hides behind system file corruption. These two tools repair that.
3a. System File Checker
- Open an elevated command prompt again.
- Type
sfc /scannowand press Enter. - Let it run. It can take 10-15 minutes. Don't close the window.
When it finishes, it'll say either Windows Resource Protection found corrupt files and repaired them or found corrupt files but was unable to fix some of them. Write down which one you got.
3b. DISM if SFC didn't fix everything
If SFC couldn't repair the files, run DISM. This pulls fresh copies from Windows Update.
DISM /Online /Cleanup-Image /RestoreHealthThis takes another 10-15 minutes. It might look stuck at 20%—it's not. Let it finish.
Once DISM completes, run sfc /scannow again. This time it should repair whatever was left over.
If you're still stuck: the nuclear option
Sometimes the error comes from a third-party program that left its own COM registration behind. Uninstalling that program doesn't always clean it up. The real fix is to find and remove the broken entry in the registry.
- Press Win + R, type
regedit, hit Enter. - Go to
HKEY_CLASSES_ROOT\CLSID. - Look for any key with a name like
{...}that has a subkeyInversepointing to a missing DLL. That's rare, but it happens.
If you find one, right-click the key and export it as a backup, then delete it. Restart and test. Only do this if you're comfortable poking around the registry—making a mistake there can break other things.
The bottom line: start with the service restart, then the regsvr32 commands, then SFC/DISM. Nine times out of ten, one of those kills the error for good. If it doesn't, the registry cleanup is your last stop before a system restore.