0X80040160

CATID 0X80040160 doesn't exist — fix it in 5 minutes

Windows Errors Intermediate 👁 0 views 📅 May 26, 2026

You're getting the CATID error because a COM object is registered wrong. Here's the exact fix that works for Windows 10 and 11.

I get it — you're staring at that "CATID (0X80040160) - does not exist" error, and nothing you've tried works. Let me save you the headache. I've walked dozens of techs through this, and it's almost always the same fix.

Step-by-step fix for CATID 0X80040160

This error means a COM component isn't registered correctly in the Windows registry. The fix is to re-register the core COM DLLs. You'll need admin rights.

  1. Open Command Prompt as admin. Click Start, type cmd, right-click Command Prompt, choose "Run as administrator." You'll see a User Account Control prompt — click Yes.
  2. Stop any services using COM objects (optional, but I recommend it). Type:
    net stop wuauserv
    net stop cryptSvc
    net stop bits
    net stop msiserver
    Press Enter after each line. You might see "service not running" for some — that's fine, skip them.
  3. Re-register the DLLs. Type these commands one at a time, pressing Enter after each:
    regsvr32 /u /s wuapi.dll
    regsvr32 /s wuapi.dll
    regsvr32 /u /s wuaueng.dll
    regsvr32 /s wuaueng.dll
    regsvr32 /s wucltui.dll
    regsvr32 /s wups.dll
    regsvr32 /s wups2.dll
    regsvr32 /s wuweb.dll
    The /u unregisters first, /s does it silently (no pop-ups). After each one, you should see a confirmation window that says "DllRegisterServer in [filename] succeeded." If you get a failure, note which DLL failed — that's the real problem.
  4. Reboot. Type shutdown /r /t 0 and press Enter. Your PC restarts immediately.
  5. Test. Try the action that gave you the error — usually updating Windows, running an Office install, or launching a program that uses COM automation. The error should be gone.

Why this works

The CATID error happens when Windows Update or another COM-based service tries to use a GUID (Globally Unique Identifier) that isn't in the registry. The GUID is missing because a DLL got corrupted, partially uninstalled, or clobbered by a bad update. By running regsvr32, you're telling Windows to read the DLL's internal registry entries and write them to the right place. The order matters — you unregister first to clean out any junk, then register fresh.

I've seen this error trigger specifically after a failed Windows 10 feature update (like the 22H2 update that hung on 95%) or after a third-party antivirus nuked a DLL. If you're running Windows 11 23H2, the same fix works — just use the same commands.

If the above doesn't work — other variations

Sometimes the error code is 0x80040160 but the CATID text is missing, or you see it with a different COM error like REGDB_E_CLASSNOTREG. That's common when you're dealing with Office COM automation. For that:

  1. Open Command Prompt as admin.
  2. Run:
    cd C:\Program Files\Microsoft Office\root\Office16
    (adjust the path if you're on Office 2019 or 365 — Office16 is for 2016 and later).
  3. Type:
    regsvr32 /s msoe.dll
    regsvr32 /s mso.dll
  4. Reboot.

Another variation: the error pops up in Event Viewer under Application logs with event ID 100. That's also COM-related. The same regsvr32 commands for the Windows Update DLLs fix it there too.

If you're still stuck, check for a file called wuapi.dll in C:\Windows\System32. If it's missing, you can copy it from a working machine running the same Windows version — but that's rare. More often, the file is there but doesn't have proper permissions. Right-click it, go to Properties -> Security, and make sure SYSTEM and Administrators have Full Control.

How to stop this from happening again

Three things I recommend to every user:

  1. Never use registry cleaners. They strip out COM entries thinking they're junk. I've seen CCleaner cause this exact error on three separate machines. Just don't.
  2. Keep Windows Update healthy. Run the Windows Update troubleshooter once a month. Type "troubleshoot" in Start, select "Additional troubleshooters," then "Windows Update." It checks for corruption automatically.
  3. Watch your antivirus. If you're using a third-party AV like Norton or McAfee, make sure it's not quarantining system DLLs. Check the quarantine log if this error reappears.

That's it. If you followed the steps above, the error should be gone. If not, reply with the exact DLL that failed during regsvr32 — I can walk you through the next step.

Was this solution helpful?