What does HRESULT 0x80080016 (CO_E_RUNAS_VALUE_MUST_BE_AAA) mean?

 
Previous Next
CO_E_MISSING_DISPLAYNAME CO_E_ELEVATION_DISABLED

CO_E_RUNAS_VALUE_MUST_BE_AAA

CO_E_RUNAS_VALUE_MUST_BE_AAA identifies this condition: the class requested through the elevation moniker is configured with an incompatible RunAs identity instead of Activate As Activator or the launching user.

What the status narrows down

COM activation is a sequence rather than a single operation: registration lookup, SCM or surrogate selection, process startup, class-factory publication, marshaling, and finally the requested interface call. The useful evidence is the evidence from the first stage that fails; a later RPC or cleanup message can otherwise hide the original activation problem.

This is not a bad password for the configured account; the identity model itself is incompatible with elevation-moniker activation.

Evidence worth preserving

  • CLSID-to-AppID mapping and the AppID RunAs value
  • Elevation\Enabled, LocalizedString, and machine-wide registration view
  • Configured service/account identity and whether activation is local or remote
  • Client token, requested elevation level, and moniker string

A controlled diagnostic sequence

  1. Remove only the incompatible RunAs value in a test registration and compare activation.
  2. Activate the same class normally to verify that its server registration is otherwise usable.
  3. Test the approved Activate As Activator configuration with a least-privilege client.

Correction and proof

A defensible correction is specific to the evidence: Use the documented elevation identity configuration or redesign the privileged operation as a service with an explicit secured interface.

Close the incident only when elevated activation succeeds only for the intended class and operation, while remote or unapproved identity cases remain blocked.

Technical references


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