What does HRESULT 0x80110447 (COMADMIN_E_ROLE_DOES_NOT_EXIST) mean?

 
Previous Next
COMADMIN_E_APPLID_MATCHES_CLSID COMADMIN_E_START_APP_NEEDS_COMPONENTS

COMADMIN_E_ROLE_DOES_NOT_EXIST

COMADMIN_E_ROLE_DOES_NOT_EXIST is the failure HRESULT 0x80110447 (signed decimal -2146368441, unsigned decimal 2148598855). Its severity bit is 1, facility is 17 (FACILITY_ITF), and the facility-specific code field is 0x0447.

COM+ identity, role, and administration security: exact meaning of COMADMIN_E_ROLE_DOES_NOT_EXIST

A component, interface, or method references a role that is absent from the application. Role-assignment validation follows the secured item to the parent application Roles collection and finds no matching role.

AllStat records this condition as “A role assigned to a component, interface, or method did not exist in the application”.

Evidence to collect before repair

  • The COMADMIN_E_ROLE_DOES_NOT_EXIST investigation needs AppID, secured component/interface/method key, and assigned role name so the exact failing boundary remains reconstructable.
  • For COMADMIN_E_ROLE_DOES_NOT_EXIST, preserve current application Roles collection with role keys; it anchors the failure to the real administration object.
  • Evidence for COMADMIN_E_ROLE_DOES_NOT_EXIST should include package or script order for role creation and role assignment, captured before a repair changes state.
  • Collect recent role deletion, rename, or application reinstall events when diagnosing COMADMIN_E_ROLE_DOES_NOT_EXIST; without it the symbolic HRESULT is underdetermined.

Where COMADMIN_E_ROLE_DOES_NOT_EXIST occurs

This result concerns a concrete COM+ identity, role, credential, or call-authentication contract; successful interactive access does not prove that the COMAdmin or application identity can perform the operation. In the specific case of COMADMIN_E_ROLE_DOES_NOT_EXIST, record application ID, secured item, assigned role key/name, inheritance level, and recent role renames or package imports.

Diagnostic sequence for COMADMIN_E_ROLE_DOES_NOT_EXIST

  • To isolate COMADMIN_E_ROLE_DOES_NOT_EXIST, populate Roles and the relevant RolesForComponent/Interface/Method collection.
  • For COMADMIN_E_ROLE_DOES_NOT_EXIST, resolve the missing role by stable application scope.
  • At the COMADMIN_E_ROLE_DOES_NOT_EXIST boundary, create the intended role before applying assignments or remove the stale assignment.
  • The next COMADMIN_E_ROLE_DOES_NOT_EXIST diagnostic action is to save the role and assignment in dependency order.
  • To isolate COMADMIN_E_ROLE_DOES_NOT_EXIST, repopulate and test role-based access with an authorized and unauthorized identity.

Retry and recovery

Create the intended role first or remove the stale assignment, then save and test access checks.

Practical administration scenario

A package imports component security assignments but omits the application role they reference.

Difference from nearby COMADMIN results

COMADMIN_E_ROLEEXISTS concerns duplicate role creation; this value identifies a dangling role reference.

Official Microsoft references for COMADMIN_E_ROLE_DOES_NOT_EXIST


Looking for a different code? Search another status or error code.