1. The component is already registered in a COM+ application (most common)
This error pops up most often when you're trying to add a DLL or component to a COM+ application, but the system already has it listed from a previous install. You'll see it during development, after a failed install, or when a setup script runs twice. The COM+ catalog thinks the component is already there, and it won't let you add a duplicate.
What you'll see
In Component Services (dcomcnfg), you expand Component Services > Computers > My Computer > COM+ Applications. You try to add a new component to an application, and boom — the error. Or you might get it from a script or a program that calls COMAdminCatalog.InstallComponent.
The fix: delete the duplicate from the COM+ application
- Open Component Services. Hit Win + R, type
dcomcnfg, press Enter. Wait a sec for it to load. - Drill into Component Services > Computers > My Computer > COM+ Applications.
- Find the application that's throwing the error. Expand it, then expand Components.
- Look for the component name from your error. It'll be something like
MyComponent.MyClassor a CLSID like{12345678-ABCD-EF00-1234-567890ABCDEF}. - Right-click that component and choose Delete. Click Yes when it asks if you're sure.
- Now try adding your component again. Right-click Components (under the app), pick New > Component, then follow the wizard — choose Install new component and browse to your DLL.
- If it works, you're done. If you still get the same error, the component might be registered at the system level. Keep reading.
After you delete it: you should see the component vanish from the list. When you add it fresh, it should appear with a green checkmark icon. No more error.
2. The component is registered at the system level (DLL registration)
Sometimes a previous setup registered the component directly with regsvr32 or via an installer that stuck around. COM+ applications pull from the system registry, and if the DLL's CLSID is already there, COM+ sees a conflict. This is common with custom COM DLLs that you're testing or deploying on the same machine.
What to check
Open a Command Prompt as Administrator. Type this to see if the DLL is registered:
reg query HKCR\CLSID /s /f "your_dll_name.dll"
Or search for the component's ProgID (like YourApp.YourClass):
reg query HKCR\YourApp.YourClass /s
If you get results, the component is registered globally.
The fix: unregister the DLL first, then add it to COM+
- Close any programs using that DLL. Check Task Manager for processes that might have it loaded.
- Open Command Prompt as Administrator. Right-click Start > Command Prompt (Admin) or PowerShell (Admin).
- Unregister the DLL. Type:
regsvr32 /u "C:\Path\To\Your.dll"(use your actual path). Hit Enter. You should see a message: DllUnregisterServer succeeded. - Now go back to Component Services. Delete any leftover entries under your COM+ application's Components folder (same steps as fix #1).
- Add the component fresh: right-click Components, choose New > Component > Install new component, and select the DLL.
- COM+ will re-register the component its own way — stored in the COM+ catalog, not the global registry. That's what you want.
What you should see: after unregistering, the reg query should return nothing. After adding to COM+, the component shows up under the application and the error disappears. If you still get the error, the catalog itself might be corrupt — try fix #3.
3. COM+ catalog corruption or duplicate application GUID
This one's rarer but nasty. The COM+ catalog (stored in the Windows registry under HKLM\SOFTWARE\Microsoft\COM3) can get corrupted if the system crashes during a COM+ operation, or if you use a backup restore that mixed up GUIDs. You'll see 0X80110439 even after deleting all visible components because the catalog still has a hidden reference.
I've seen this on Windows Server 2012 R2 and Windows 10 machines that had COM+ applications migrated from earlier Windows versions. The GUIDs collide.
The fix: export, delete, and re-create the COM+ application
- Back up the application first. In Component Services, right-click the application that's giving you trouble, choose Export. Save it as an Application Proxy (or Full export if you want settings). Keep that file safe.
- Right-click the application again and pick Delete. Confirm Yes.
- Now delete the application from the registry directly. Back up the registry first. Open Regedit as Administrator. Navigate to:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3\Applications
Look for the key matching your application's GUID (you can find this in Component Services by right-clicking the app > Properties > General tab — it shows the Application ID). Delete that key.
- Unregister and delete any orphaned components: run this command from an elevated prompt:
reg delete HKCR\CLSID /f /va
Wait — don't run that blindly. That command deletes all CLSID entries, which will break most COM apps on your machine. Instead, only delete the specific CLSID for your component. If you know the CLSID (from the error or from Component Services), run:
reg delete HKCR\CLSID\{YourCLSID} /f
- Restart your computer. This clears any cached COM+ data.
- Open Component Services again. Right-click COM+ Applications, choose New > Application. Go through the wizard to re-create the application with the same name (or import your backup proxy).
- Add your component fresh (right-click Components > New > Component > Install new component).
Expected outcome: after the restart, the application won't exist yet. After you re-create it and add the component, you should see the component list clean. The error won't pop up. Test by adding a second instance — it should work or at least give a different error if something else is wrong.
Quick-reference summary table
| Cause | Fix | Tools needed |
|---|---|---|
| Duplicate entry in COM+ application | Delete the component from Component Services, then add it fresh | dcomcnfg |
| DLL registered globally (regsvr32) | Unregister the DLL, then add to COM+ | Command Prompt (Admin), dcomcnfg |
| Catalog corruption or GUID collision | Export, delete app from registry, restart, re-create | dcomcnfg, Regedit, Command Prompt (Admin) |