What does HRESULT 0xC004E005 (SL_E_NOT_ACTIVATED) mean?

 
Previous Next
SL_E_NOT_EVALUATED SL_E_INVALID_GUID

SL_E_NOT_ACTIVATED

What Windows has already determined

Interpret SL_E_NOT_ACTIVATED inside license state, grace and validity, not as a generic activation failure. Windows has reached the Software Protection Platform state machine that evaluates whether a license is active, in a grace or validity interval, out of tolerance, expired, non-genuine, or in notification; in this case, the targeted license instance has not completed an activation method that places it in the Licensed state.

Record both this result and 0xC004E005. Licensing wrappers often preserve only a friendly message, but the facility value is what separates key, KMS, certificate, offline, OEM, Store, and state-machine failures.

How to test the failing stage

  1. Begin with the operation that emitted this result and its target Activation ID.
  2. Inventory Activation ID, LicenseStatus, LicenseStatusReason, GracePeriodRemaining, EvaluationEndDate, GenuineStatus, trusted time and hardware binding; this establishes whether the request was aimed at the intended product and activation channel.
  3. Use events and tool output to demonstrate: identify the exact Activation ID, LicenseStatusReason, key channel, last activation attempt and configured method.
  4. Rule out the adjacent case: not activated is a state summary; the preceding KMS, key, server, OEM, token or network result contains the actionable cause.
  5. After the targeted fix, verify both the immediate HRESULT and the persistent licensing state after service restart or reboot when relevant.

The surrounding licensing model prevents two common misdiagnoses. Grace expiration, validity expiration, hardware out-of-tolerance, non-genuine state, and notification mode have different causes and transitions even when the user sees a similar activation banner. Informational licensing HRESULTs can describe a valid grace or time-based state even though the value is not S_OK; callers should inspect severity and state rather than treating every nonzero code as failure.

A useful diagnostic record

To verify this, identify the exact Activation ID, LicenseStatusReason, key channel, last activation attempt and configured method. Before changing the system, add the following context:

  • Product identity: GracePeriodRemaining and EvaluationEndDate.
  • Activation context: trusted time and recent time-service events.
  • State at failure: hardware or firmware changes affecting binding.
  • Correlation evidence: activation channel, partial product key and last successful activation/renewal.
  • Change history: LicenseStatus and LicenseStatusReason for the exact Activation ID.

Recommended handling

Resolve this code at its producing layer: run one appropriate activation attempt, preserve its exact error, and repair that producing layer. A successful command is not enough by itself; verify the stored licensing state and any renewal, validity, or binding data affected by the operation.

Representative failure: A health check queries a product instance that has a key installed but no successful activation.

Nearby results that require a different response

ResultDifferent condition
SL_E_GRACE_TIME_EXPIREDDifferent condition: the applicable activation grace interval has reached zero without the license reaching an accepted activated state.
SL_E_OUT_OF_TOLERANCEDifferent condition: the current hardware identity differs from the licensed binding beyond the allowed tolerance.
SL_E_VALIDITY_TIME_EXPIREDDifferent condition: the license’s validity time check has expired at evaluation.

The comparison is also useful for tests: each branch should have a fixture that produces its own HRESULT and verifies the expected persistent licensing state.

Actions that usually make this harder to diagnose

  • Avoid resetting licensing state merely to hide an expired or non-genuine condition.
  • Avoid interpreting a positive informational HRESULT as an activation failure without checking LicenseStatus.

Verification after the change

After remediation, repeat the original operation rather than relying on the absence of a notification banner. Confirm that it is no longer produced and that the intended product instance reports the expected durable licensing state.

Technical references


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