0X80029C84

TYPE_E_CIRCULARTYPE (0X80029C84) – Circular Dependency Fix

A circular dependency between COM types and modules. Almost always caused by a broken or misregistered DLL. Here's how to track it down and kill it.

Cause 1: Corrupt or Cross-Registered DLL

Nine times out of ten, 0x80029C84 is a DLL that's registered twice or registered against the wrong version of itself. I've seen this happen most often after installing a legacy VB6 app on Windows 10 or 11, or after a botched Office update. The COM type library loader hits a circular reference — Type A points to DLL B, which points back to Type A, and the whole thing deadlocks.

Fix: Unregister and Re-register the DLL

Open an elevated Command Prompt (right-click, Run as Administrator). Run these commands one at a time:

regsvr32 /u "C:\Path\To\Problematic.dll"
regsvr32 "C:\Path\To\Problematic.dll"

If you don't know which DLL is the culprit, check the Event Viewer. Look under Windows Logs > Application for error entries with source "Windows Error Reporting" or "SideBySide". The faulting module path is usually listed there. If that's empty, use ProcMon from Sysinternals — filter by the TypeLib registry key and look for failed loads. Blunt tool, but it works.

I've also fixed this by simply unregistering every .tlb file in the app's install folder and re-registering them all. Old VB6 apps are notorious for this. Do this:

for %i in ("C:\Program Files (x86)\YourApp\*.tlb") do regsvr32 /u "%i"
for %i in ("C:\Program Files (x86)\YourApp\*.tlb") do regsvr32 "%i"

Run those from an admin prompt. If the error goes away, you nailed it.

Cause 2: Multiple Copies of the Same Type Library

Sometimes a leftover DLL from an old install sits in C:\Windows\System32 while the newer version is in C:\Program Files. Windows loads the first one it finds, and if they have different type library GUIDs or version numbers, you get a circular dependency. The system can't resolve which version to use.

Fix: Remove the Duplicate

Search your system for the DLL by name. Use where /r C:\ in a command prompt:

where /r C:\ YourProblematic.dll

If you see two or more copies, the one in System32 or SysWOW64 is usually the troublemaker. Unregister it:

regsvr32 /u "C:\Windows\SysWOW64\YourProblematic.dll"

Then delete it (after making a backup). Re-register the version in the app's install folder. Restart the app. This has fixed the error for me on at least a dozen machines, especially with old Sage or QuickBooks integrations.

Cause 3: Broken Component Services Cleanup

If the two fixes above didn't work, the problem is deeper — a dead COM+ application or orphaned type library reference in the registry. This is rarer but happens after failed uninstalls or when you kill a process mid-registration.

Fix: Use Component Services to Delete Orphans

  1. Open Component Services (run dcomcnfg).
  2. Expand Component Services > Computers > My Computer > COM+ Applications.
  3. Look for apps with a yellow warning icon or blank names — these are dead.
  4. Right-click and delete them.

Then clean the registry manually. Back up first. Open regedit and navigate to:

HKEY_CLASSES_ROOT\TypeLib

Look for GUIDs that point to DLLs that don't exist anymore. The win32 or win64 key under each GUID shows the path. If the path is empty or points to a deleted file, delete that whole GUID key. Be surgical — don't go deleting everything. I've seen this clear up circular type errors after an Office 2010 to 2016 migration that went sideways.

If you're nervous about registry edits, use Registry Editor's Find to search for the erroring DLL name. Delete only the keys that reference it.

Quick-Reference Summary Table

CauseSymptomsFixTime
Corrupt DLL registrationError on app start, Event Viewer shows module pathUnregister/re-register DLL5 min
Duplicate type libraryMultiple copies of same DLL on diskRemove duplicate, keep correct one10 min
Broken COM+ app or orphaned registryError after failed uninstall, yellow icons in Component ServicesDelete dead COM+ apps, clean orphaned TypeLib keys15 min

That's it. Start with the first fix — it works most of the time. Don't bother reinstalling the whole app until you've tried these. And always run sfc /scannow after any registry surgery to make sure you didn't break something else.

Related Errors in Windows Errors
0X80097002 0x80097002 Fix: MSSIPOTF_E_CANTGETOBJECT in Windows 0X0000044F Tape backup stops with ERROR_SETMARK_DETECTED 0X0000044F 0XC000036E STATUS_SYSTEM_HIVE_TOO_LARGE (0xC000036E) Fix 0XC01C0004 STATUS_FLT_DISALLOW_FAST_IO (0XC01C0004) Fix Guide

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.