0X80040154

Fix REGDB_E_CLASSNOTREG (0X80040154) Class Not Registered

This error means Windows can't find a registered COM component. Usually happens when a 32-bit app runs on 64-bit Windows. Here's how to fix it fast.

Class Not Registered (0x80040154) – What It Means

This error pops up when a program tries to use a COM object or ActiveX control that isn't properly registered in Windows. The most common trigger? You're running a 32-bit application on a 64-bit version of Windows. The app looks for the component in the 64-bit registry, but it's sitting in the 32-bit registry (under Wow6432Node). I've seen this hundreds of times with older accounting software, custom in-house apps, and games from the early 2000s.

Another common scenario: you install a program, it works for months, then one day you get this error after a Windows update or a security patch. The update didn't break the program — it just unregistered a COM component that the installer had registered.

Let me walk you through the fixes, starting with the one that takes 30 seconds and requires no special tools.

Quick Fix (30 Seconds) – Re-register the Component with regsvr32

If the error message tells you which DLL or OCX file is missing, this is your fastest option. If it doesn't, you'll need to guess based on the program name, but skip to the moderate fix if you're not sure.

  1. Open Command Prompt as administrator. Click Start, type "cmd", right-click Command Prompt, and select "Run as administrator". Click Yes on the UAC prompt.
  2. Type this command (replace YourFile.dll with the actual filename):
    regsvr32 YourFile.dll
  3. Press Enter. You should see a popup that says "DllRegisterServer in YourFile.dll succeeded". If you get an error, the file is missing — you'll need to reinstall the software.

What to expect: After the popup closes, try launching the program again. If the error is gone, you're done. If not, move on to the moderate fix.

A quick note: If your app is 32-bit and you're on 64-bit Windows, the file might be in C:\Windows\SysWOW64 instead of C:\Windows\System32. Try running regsvr32 from that folder if the first attempt doesn't work.

I've saved dozens of users with this single command. It's the first thing I try when I see 0x80040154 in a ticket.

Moderate Fix (5 Minutes) – Check the 32-bit Registry

If the quick fix didn't work, the component is probably registered in the wrong registry hive. Here's how to check the 32-bit COM registry:

  1. Open Registry Editor. Press Win + R, type regedit, press Enter. Click Yes on UAC.
  2. Navigate to the 32-bit COM registration path:
    HKEY_CLASSES_ROOT\Wow6432Node\CLSID
  3. Look for the CLSID mentioned in the error. The error message sometimes includes a long string like {00024500-0000-0000-C000-000000000046}. If it does, search for that GUID by pressing Ctrl + F, pasting the GUID, and clicking "Find Next".
  4. If you find the GUID under Wow6432Node, the component is registered for 32-bit apps but not for 64-bit. You can copy the entire CLSID key from Wow6432Node\CLSID to HKEY_CLASSES_ROOT\CLSID. Right-click the key, select Export, save the .reg file, then double-click that .reg file to merge it into the 64-bit registry.
  5. If you don't find the GUID at all, the component wasn't registered during installation. You'll need to reinstall the software that provides it.

What to expect: After merging the registry file, reboot your PC. Launch the program again. If the error persists, move to the advanced fix.

Advanced Fix (15+ Minutes) – Use Dependency Walker or Procmon

When the error is vague — just "Class not registered" with no file name or CLSID — you need to track down exactly what the program is trying to load. This is where the real detective work starts.

Option A: Dependency Walker

Download Dependency Walker (it's free, old but still works on Windows 10 and 11).

  1. Launch Depends.exe as administrator.
  2. Open the program's .exe file (File > Open).
  3. Look for any modules listed in red. Those are missing or unregistered.
  4. Note the filename — it's usually a .dll or .ocx. Then use regsvr32 on that file (see Quick Fix).

Option B: Process Monitor (Procmon)

Download Process Monitor from Microsoft.

  1. Run Procmon as administrator.
  2. Clear the log (Ctrl + X) to start fresh.
  3. Start your program and wait for the error.
  4. In Procmon, stop the capture (Ctrl + E).
  5. Filter by process name: Right-click any entry, select "Include 'YourProgram.exe'".
  6. Look for entries with Result = "NAME NOT FOUND" or "BAD NETWORK PATH", especially for .dll or .ocx files. That's what's missing.
  7. Once you have the filename, register it with regsvr32.

What to expect: This takes patience. You might see dozens of missing files — most are normal. Focus on the ones your program actually needs. After registering the missing component, the error should go away.

When None of These Work

If you've tried all three fixes and still see 0x80040154, the software might be corrupt or incompatible. Your best bet is to fully uninstall the program, reboot, then reinstall using the original installer or the latest version from the vendor. If that still fails, the software may simply not be compatible with your version of Windows — and you'll need to run it in a virtual machine with an older OS like Windows XP or Windows 7.

One last thing: if you're dealing with an obscure industry-specific app (like medical billing or manufacturing software), check the vendor's knowledge base. They often have custom registration scripts or patches for this exact error.

Related Errors in Database Errors
Msg 217, Level 16, State 1 Stored Procedure SQL Stack Overflow – Quick Fixes That Work 0X8004D029 XACT_E_ABORTING (0x8004D029): Local transaction aborted fix 0X8009400F Fix CERTSRV_E_NO_DB_SESSIONS (0x8009400F) on Windows CA 0X80320011 FWP_E_INCOMPATIBLE_TXN (0X80320011) Fix: Can't Write During Read-Only Transaction

Was this solution helpful?

EP
Erropedia Team
Tech Support Editors
The Erropedia editorial team researches and documents real-world tech errors from across Windows, Linux, macOS, networking, databases, cloud platforms, and more. Every solution is reviewed for accuracy and updated as software and systems evolve.