0X8011040C

Fix COMADMIN_E_ROLEEXISTS (0X8011040C) – Role Already Exists

Windows Errors Intermediate 👁 9 views 📅 May 28, 2026

COM+ role creation fails because the role name already exists in the COM+ application. The fix is to delete the duplicate or rename it.

Quick answer: Open Component Services, find your COM+ application, expand Roles, and delete or rename the duplicate role. No need to reinstall anything.

This error happens when you try to create a COM+ role with a name that's already assigned to another role in the same COM+ application. The COM+ catalog enforces unique role names per application. I've seen this most often when someone re-runs a deployment script that tries to add roles without checking if they exist first, or when manually creating a role in Component Services and mistyping the name.

How to Fix It

  1. Open Component Services. Press Win + R, type dcomcnfg, hit Enter.
  2. Navigate to your application. Go to Component Services > Computers > My Computer > COM+ Applications. Find the application that threw the error.
  3. Check the Roles folder. Expand your application, then expand Roles. Look for the role name you're trying to create. It's already there.
  4. Delete or rename the duplicate.
    • To delete: Right-click the role, choose Delete. Confirm.
    • To rename: Right-click the role, choose Properties. Change the name in the Name field. Click OK.
  5. Create your new role. Right-click Roles, choose New > Role. Enter your desired name. Click OK.

Alternative Fixes

If the main fix doesn't work (e.g., you can't delete the role because it's in use or corrupted), try these:

  1. Restart the COM+ System Application service. Open Services.msc, find COM+ System Application, right-click, choose Restart. Then retry the role deletion.
  2. Export and reimport the COM+ application. Right-click your application, choose Export. Save as an MSI file. Then delete the entire application, right-click COM+ Applications, choose New > Application, and import the saved MSI. This rebuilds the role list from scratch.
  3. Check for hidden roles. Sometimes roles get orphaned. Use PowerShell to list all roles in the application:
    Get-WmiObject -Namespace root\CIMV2 -Class Win32_COMApplicationRole | Where-Object {$_.ApplicationID -eq "<YourAppGUID>"} | Select-Object Name
    Replace <YourAppGUID> with the Application ID from the error or from the application properties. If you see the duplicate, you can delete it via Get-WmiObject ... | Remove-WmiObject — but be careful.

Prevention Tip

Before creating roles in scripts or automation, always check if the role already exists. In PowerShell, wrap your role creation in a conditional:

$appName = "YourAppName"
$roleName = "YourRoleName"
$app = Get-WmiObject -Namespace root\CIMV2 -Class Win32_COMApplication | Where-Object {$_.Name -eq $appName}
$existingRole = Get-WmiObject -Namespace root\CIMV2 -Class Win32_COMApplicationRole | Where-Object {$_.ApplicationID -eq $app.ApplicationID -and $_.Name -eq $roleName}
if (-not $existingRole) {
    # Create role
} else {
    Write-Host "Role $roleName already exists — skipping."
}

Also, don't let deployment scripts blindly run role creation on every deploy. That's just asking for this error.

Was this solution helpful?