COMADMIN_E_NOTDELETEABLE (0X8011042B) Delete Disabled Fix
This error pops up when you try to delete a COM+ component in Component Services, but the system won't let you. It's a security protection, not a bug.
When This Error Hits
You're in Component Services (dcomcnfg.exe), right-click a COM+ application or component, and select Delete. Instead of a confirmation dialog, you get this error: "The delete function has been disabled for this object" with code 0X8011042B. You can't delete it from the GUI at all.
I see this mostly on Windows Server 2012 R2 and 2016 boxes running legacy line-of-business apps. The trigger is almost always a COM+ application that was installed by an older installer or manually configured. The app still runs fine, but you're stuck with a component you can't clean up.
Root Cause
COM+ has a built-in safety feature. When the system marks a component as "delete disabled," it usually means one of two things:
- The component is part of a system-installed COM+ application (like IIS or MSDTC). These are protected and shouldn't be deleted anyway.
- The component's registry metadata got corrupted or locked by a previous install/uninstall cycle. The delete flag got set to 1 and never cleared.
In most real-world cases I've seen, it's reason #2. The COM+ catalog database (%windir%\registration\clbcatq.dll) holds permissions and flags per object, and that flag is stuck. You can't change it from the GUI, but you can bypass it with a direct COM+ administrative script.
The Fix
Skip the GUI entirely. We'll use a command-line tool called COMAdmin.COMAdminCatalog via PowerShell. This tool can remove the delete-disabled flag and let you clean up.
Before you start: Run Component Services as Administrator. If you're on a domain controller, you might need to log in with a domain admin account.
Step 1: Identify the COM+ Application Name
- Open Component Services (press Win+R, type
dcomcnfg, hit Enter). - Expand Component Services > Computers > My Computer > COM+ Applications.
- Find the application that's giving you the delete error. Write down the exact name (case matters). For this example, I'll use "MyBrokenApp".
Step 2: Open PowerShell as Administrator
- Right-click the Start button and pick Windows PowerShell (Admin).
- Click Yes on the UAC prompt.
Step 3: Run the Uninstall Script
Copy this block into PowerShell. Replace "MyBrokenApp" with your actual application name.
$appName = "MyBrokenApp"
$catalog = New-Object -ComObject COMAdmin.COMAdminCatalog
$apps = $catalog.GetCollection("Applications")
$apps.Populate()
foreach ($app in $apps) {
if ($app.Name -eq $appName) {
$apps.Remove($app.Key)
$apps.SaveChanges()
Write-Host "Application '$appName' removed successfully."
break
}
}After you run it, you should see the success message. If not, check the name spelling and try again.
Step 4: Verify the Removal
- Go back to Component Services.
- Press F5 to refresh the list under COM+ Applications.
- That app should be gone. If it still shows, close Component Services and reopen it.
If It Still Fails
Two things to check:
- Is the COM+ application currently running? You can't delete a running application. Open Component Services, expand the app, right-click any running components, and shut them down. Then retry the script.
- Are you on a 64-bit system? The COM+ catalog might be 32-bit. If the script throws a COM error, run PowerShell in 32-bit mode: open
%SystemRoot%\SysWOW64\WindowsPowerShell\v1.0\powershell.exeas Admin and run the same script.
Still stuck? The nuclear option is to delete the application's registry key directly. Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3\Applications and remove the subkey matching your app's GUID (you can find the GUID in Component Services by right-clicking the app > Properties > General tab). Back up the key first.
That's it. No rebooting required. You're done.
Was this solution helpful?