| Previous | Next |
| SL_E_INVALID_PACKAGE_VERSION | SL_E_ISSUANCE_LICENSE_NOT_INSTALLED |
SL_E_PKEY_INVALID_UPGRADE
Where this licensing result is produced
Interpret SL_E_PKEY_INVALID_UPGRADE inside product-key and edition matching, not as a generic activation failure. Windows has reached validation and installation of a product key against the installed edition, activation channel, SKU, PID configuration and license package; in this case, the supplied key grants an upgrade path and cannot activate a clean installation lacking the qualifying base state.
This result is HRESULT 0xC004F061. Pair it with the selected product/Activation ID and operation name so later logs do not attribute an add-on, edition, or volume-license result to the base Windows product.
Evidence to preserve before changing anything
The decisive record is to record installation type, qualifying-license evidence, current edition, key channel and whether the system was clean-installed or upgraded. Before changing the system for this HRESULT, add the following context:
- Product identity for this HRESULT: key channel/type and only the partial product key in ordinary logs.
- Activation context for this HRESULT: Product ID and PID configuration.
- State at failure for this HRESULT: installed license package/SKU inventory.
- Correlation evidence for this HRESULT: operation used to install, change, validate or activate the key.
- Change history for this HRESULT: current edition and Activation ID.
When investigating this result, protect secrets while collecting evidence. Full product keys, complete IID/CID values, private keys, PINs, challenge blobs, account credentials, and unredacted certificate material for this HRESULT do not belong in public tickets. Partial keys, hashes, thumbprints, IDs, timestamps, and state transitions are normally enough to correlate the failure.
This result should be read against these rules: for this HRESULT: Key installation and activation are separate operations: successful installation does not prove that entitlement, activation limits, or server-side policy will allow activation. for this HRESULT: A syntactically well-formed key can still be unusable because its channel, edition, key range, upgrade rights, or Activation ID does not match the installed product.
This result is actionable because an upgrade key can be genuine and correctly formatted but still require a qualifying installation. Automation handling it should route the result to the owner of that layer rather than starting every recovery path at once.
Work from state to cause
- Select the exact licensing product or Activation ID that returned it; do not rely only on the first line of
slmgr /dlv. - confirm the mechanism in use: validation and installation of a product key against the installed edition, activation channel, SKU, PID configuration and license package.
- prove the code-specific condition by collecting: record installation type, qualifying-license evidence, current edition, key channel and whether the system was clean-installed or upgraded.
- apply the distinction “an upgrade key can be genuine and correctly formatted but still require a qualifying installation” before choosing a key, network, certificate, firmware, time, or entitlement repair.
- change one decisive precondition, rerun one activation/evaluation operation, and verify the resulting LicenseStatus and LicenseStatusReason.
What a safe fix looks like
Recovery should preserve entitlement and state rather than erase symptoms. In this case, use the key only in its authorized upgrade scenario or provide a full-license key for a clean installation; then query the same product instance and retain the post-fix it HRESULT and status.
Representative failure: A volume or retail upgrade key is entered on a freshly installed disk with no qualifying base license.
How this differs from adjacent licensing codes
| Result | Different boundary |
|---|---|
SL_E_MISMATCHED_PRODUCT_SKU | Relative to it: the requested or licensed SKU cannot be matched to an installed product SKU. |
SL_E_BASE_SKU_NOT_AVAILABLE | Relative to it: an add-on or edition license depends on a base SKU that is not installed or available. |
SL_E_BLOCKED_PRODUCT_KEY | Relative to it: the licensing policy identifies the otherwise recognizable key as blocked. |
When it appears with related results, order them by timestamp and Activation ID. The earliest code at the producing boundary usually carries more diagnostic value than a later summary state.
Actions that usually make this harder to diagnose
- While diagnosing it, avoid publishing a complete product key in logs, tickets or screenshots. That action changes evidence for this HRESULT without correcting the established boundary.
- avoid cycling through unrelated keys without first identifying edition and channel. The result already narrows the problem more precisely.
- do not delete licensing stores, edit signed license files, alter firmware markers, bypass certificate checks, or use unofficial activation tools. During investigation, those actions can create a second integrity problem and destroy the evidence needed to repair the legitimate license.
Verification after the change
Verification for this HRESULT should include a failing fixture for “the supplied key grants an upgrade path and cannot activate a clean installation lacking the qualifying base state” and a passing fixture after the narrow correction. Reboot or restart only when the documented mechanism requires it, and confirm that the state persists afterward.
Technical references
- Microsoft activation error-code troubleshooting — diagnostic and operational context for this HRESULT.
- Plan for volume activation — supported tools and state fields used to verify it.
- KMS client activation keys — Microsoft guidance for the activation mechanism represented by it.
- Slmgr.vbs activation options — platform behavior relevant to it.
Looking for a different code? Search another status or error code.
