| Previous | Next |
| SL_E_DEPENDENT_PROPERTY_NOT_SET | SL_E_MISMATCHED_PRODUCT_SKU |
SL_E_NONGENUINE_GRACE_TIME_EXPIRED_2
Where this licensing result is produced
SL_E_NONGENUINE_GRACE_TIME_EXPIRED_2 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 second non-genuine grace category has expired.
Telemetry should retain 0xC004F067, this result, and the affected Activation ID. The same computer can expose several licensing products, and a state read from the wrong instance can contradict the operation that actually failed.
Two platform rules are especially relevant to this result. 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. 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.
A useful diagnostic record
Capture its distinct LicenseStatusReason, prior type-2 informational state, validation evidence and transition timestamp. 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.
Diagnostic sequence
- Begin with the operation that emitted this result and its target Activation ID.
- 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.
- Use events and tool output to demonstrate: capture its distinct LicenseStatusReason, prior type-2 informational state, validation evidence and transition timestamp.
- Rule out the adjacent case: keeping the type-2 reason avoids conflating two different state-machine paths with identical UI symptoms.
Do not infer the cause of it from the activation UI alone. Keeping the type-2 reason avoids conflating two different state-machine paths with identical UI symptoms. Keep the exact HRESULT in user-facing diagnostics instead of collapsing it into a generic activation failure.
Related outcomes and why they are not equivalent
| Result | Different condition |
|---|---|
SL_E_NONGENUINE_GRACE_TIME_EXPIRED | Different condition: the first non-genuine remediation grace period has ended without restoring a genuine license state. |
SL_E_VALIDITY_TIME_EXPIRED | Different condition: the license’s validity time check has expired at evaluation. |
SL_E_OUT_OF_TOLERANCE | Different condition: the current hardware identity differs from the licensed binding beyond the allowed tolerance. |
Corrective direction
Recovery should preserve entitlement and state rather than erase symptoms. In this case, resolve the underlying validation/licensing cause and confirm genuine status through the exact Activation ID; then query the same product instance and retain the post-fix it HRESULT and status.
Representative failure: Monitoring detects expiry of the alternate non-genuine grace state on a managed endpoint.
Actions that usually make this harder to diagnose
- Avoid interpreting a positive informational HRESULT as an activation failure without checking LicenseStatus.
- Avoid resetting licensing state merely to hide an expired or non-genuine condition.
Verification after the change
Technical references
- SoftwareLicensingProduct WMI class — platform behavior relevant to this HRESULT.
- WMI properties for volume activation — diagnostic and operational context.
- Slmgr.vbs activation options — supported tools and state fields used to verify the resulting state.
- Microsoft activation error-code troubleshooting — Microsoft guidance for the activation mechanism represented by this HRESULT.
Looking for a different code? Search another status or error code.