| Previous | Next |
| E_RM_UNKNOWN_ERROR | SL_E_IA_THROTTLE_LIMIT_EXCEEDED |
SL_E_VALIDITY_PERIOD_EXPIRED
The activation stage represented here
SL_E_VALIDITY_PERIOD_EXPIRED belongs to license state, grace and validity. The producing mechanism is 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. The important boundary is: the configured time-based license validity period has ended.
The stored HRESULT is 0xC004FC07. Keep that value, the symbolic name, and the target Activation ID together; converting it to a generic “Windows is not activated” status discards the stage that selected the next diagnostic step.
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.
validity expiry is a contractual time boundary, not failed KMS discovery or hardware tolerance. A broad instruction to “try another key” or “check the Internet” would discard the more specific condition already established by the code.
Data that identifies the actual cause
Record EvaluationEndDate, trusted time, license type, Activation ID and whether an extended-grace policy exists. Before changing the system, add the following context:
- Product identity: trusted time and recent time-service events.
- Activation context: hardware or firmware changes affecting binding.
- State at failure: activation channel, partial product key and last successful activation/renewal.
- Correlation evidence: LicenseStatus and LicenseStatusReason for the exact Activation ID.
- Change history: GracePeriodRemaining and EvaluationEndDate.
Work from state to cause
- Identify whether this result came from key installation, activation, renewal, validation, certificate selection, offline deposit, or status query.
- Tie that call to Activation ID, LicenseStatus, LicenseStatusReason, GracePeriodRemaining, EvaluationEndDate, GenuineStatus, trusted time and hardware binding.
- Capture the proof needed for this specific result: record EvaluationEndDate, trusted time, license type, Activation ID and whether an extended-grace policy exists.
- Use the related-code comparison below to avoid correcting the wrong layer.
- Retest with a fresh operation instance and confirm that no parallel retry or stale response can overwrite the result.
Important distinctions
| Result | Different condition |
|---|---|
SL_E_NOT_GENUINE | Relative to this result: the Software Protection Platform’s genuine-state evaluation does not accept the current Windows licensing state. |
SL_E_NONGENUINE_GRACE_TIME_EXPIRED_2 | Relative to this result: the second non-genuine grace category has expired. |
SL_E_NONGENUINE_GRACE_TIME_EXPIRED | Different condition: the first non-genuine remediation grace period has ended without restoring a genuine license state. |
Recovery without damaging licensing evidence
Use the targeted fix: renew, replace, or remove the expired time-based license according to the authorized program. Avoid simultaneous key changes, store resets, service restarts, and network changes because they make it impossible to identify which precondition mattered.
Representative failure: A time-limited Windows entitlement reaches its stated end date.
Verification after the change
Build a regression case that intentionally creates “the configured time-based license validity period has ended” and asserts it. The corrected case should change only the relevant input, then verify the same Activation ID, final LicenseStatus/Reason, and any relevant grace, renewal, certificate, binding, or expiry data.
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.
Technical references
- SoftwareLicensingProduct WMI class — Microsoft guidance for the activation mechanism represented by this HRESULT.
- WMI properties for volume activation — platform behavior relevant to this HRESULT.
- Slmgr.vbs activation options — diagnostic and operational context.
- Microsoft activation error-code troubleshooting — supported tools and state fields used to verify the resulting state.
Looking for a different code? Search another status or error code.