| Previous | Next |
| SL_E_WINDOWS_VERSION_MISMATCH | SL_E_STORE_UPGRADE_TOKEN_REQUIRED |
SL_E_ACTIVATION_IN_PROGRESS
What the security processor has established
The useful meaning of SL_E_ACTIVATION_IN_PROGRESS, value 0xC004E028, is not simply “activation failed.” It comes from license evaluation, policy and machine-binding state, where the rules engine that combines installed licenses, machine context, hardware identity, secure-store identity, policy values and current operation state. The condition to investigate is another activation operation for the same SKU is still active, so a concurrent attempt is rejected.
This distinction matters because this is concurrency control, not an activation-server refusal. A later “not licensed” state should not replace the first exact HRESULT in logs.
Where it sits in the licensing pipeline
Evaluation results should be tied to the exact licensing product instance; a computer normally exposes several products and add-ons with independent states. To verify this, record Activation ID, initiating processes, start time, operation correlation and whether the first request is hung.
Policy mismatch, hardware-data failure, invalid context and an already-running activation are distinct from a rejected key or unreachable activation server.
The diagnostic record that matters
- secure-store ID, hashes and rule identifiers
- LicenseStatus, LicenseStatusReason and concurrent operation state
- Application ID and Activation ID
- license package and policy generation
- hardware ID inputs and recent hardware/firmware changes
Investigation sequence
- Record this result,
0xC004E028, the exact API or service operation, and the affected product or protected object. - Prove the specific condition: record Activation ID, initiating processes, start time, operation correlation and whether the first request is hung.
- Compare the neighboring results below and identify which condition actually applies.
Adjacent states in the same subsystem
| Result | Different condition |
|---|---|
SL_E_WINDOWS_VERSION_MISMATCH | Compared with this result, the running Software Protection service version does not match the licensing policy/component set. |
SL_E_INVALID_HASH | Compared with this result, a protected data object does not match its stored integrity hash. |
SL_E_INVALID_CONTEXT_DATA | Compared with it, machine/context data supplied to the rules engine is malformed or inconsistent. |
Recommended handling
Wait for or diagnose the original operation, then retry once with the same product instance.
Representative case: Management software launches a second activation while Settings is already activating the SKU.
Actions that usually destroy useful evidence
- Do not reset the entire licensing store for a single policy or concurrency result.
- Do not change several inputs at once before identifying the rule, hash, context or operation that failed.
Technical references
- SoftwareLicensingProduct WMI class — official platform context used to interpret it.
- SoftwareLicensingService WMI class — supported state, API or recovery information relevant to this HRESULT.
- WMI properties for volume activation — reference for evidence collection and post-repair verification.
- RefreshLicenseStatus method — technical contract for the subsystem producing it.
Looking for a different code? Search another status or error code.