| Previous | Next |
| SL_E_CHPA_UNKNOWN_PRODUCT_KEY_TYPE | SL_E_CHPA_FAILED_TO_INSERT_PRODUCT_KEY_RECORD |
SL_E_CHPA_PRODUCT_KEY_BEING_USED
The stage that stopped
SL_E_CHPA_PRODUCT_KEY_BEING_USED is HRESULT 0xC004C770. It belongs to the CHPA activation-server workflow. Its narrow boundary is: another server-side operation or user currently owns the product-key record needed by this request.
CHPA results describe the activation service’s business-rule and product-key administration workflow. Several codes concern server records and transactions rather than the end user’s local licensing store. The code is not interchangeable with a permanently blocked key or exhausted count.
AllStat records “The activation server reported that the product key type is being used by another user” for this HRESULT. That identifies the official outcome; the additional value is the producing object, evidence set, nearby conditions and safe verification path.
Why the producing layer matters
| Stage | Role for this HRESULT |
|---|---|
| CHPA input | The server receives a key-management or activation payload with business-rule inputs. |
| Schema and rule evaluation | Key type, properties, bindings and program rules are validated before the operation can commit. |
| Persistent operation | Insert, update, delete or lookup state is part of the producing boundary for this HRESULT. |
| Server response | The client sees this result after CHPA rejects or cannot persist the requested change. |
A later unlicensed, notification or grace-state message describes a consequence. Preserve the earliest event carrying this HRESULT for the same product object or service request.
What the constant itself tells you
- The CHPA prefix places the result in server business-rule or product-key data processing.
- product/key identity must remain tied to the exact SKU and Activation ID.
- The suffix names the object or transition to inspect before any broad activation reset.
- Its HRESULT severity is failure; later status messages can describe only the resulting state.
Evidence that avoids a false diagnosis
| Evidence | Question answered |
|---|---|
| activation request ID and CHPA/server timestamp | For this HRESULT: Which CHPA entity was being inserted, updated, deleted or queried? |
| product-key record identity and key type | For this HRESULT: Did schema validation finish before persistence was attempted? |
| business-rule name or server operation | For this HRESULT: Is another transaction using the same product-key record? |
| caller identity and elevation | For this HRESULT: Can whether a clean reboot reproduces the result without modifying state be captured before changing state? |
| whether a clean reboot reproduces the result without modifying state | For this HRESULT: Does the evidence support “allow the conflicting operation to finish and retry once with the same correlation scope” rather than a permanently blocked key or exhausted count? |
Redact full keys, activation blobs, account tokens, private certificate material and raw hardware identifiers. Partial keys, hashes, IDs and UTC timestamps retain correlation value without publishing secrets.
Diagnostic sequence
- Capture caller identity and elevation specifically for this HRESULT.
- Prove the distinction between the named boundary and a permanently blocked key or exhausted count before remediation.
- After one supported change, repeat the same operation and compare state, events and response correlation for this HRESULT.
- Bind this result to the exact Application ID, Activation ID, edition and partial key.
- Record
0xC004C770, UTC time, caller and the first method or server request that returned it.
REM Evidence context: SL_E_CHPA_PRODUCT_KEY_BEING_USED
cscript %windir%\system32\slmgr.vbs /dlv
cscript %windir%\system32\slmgr.vbs /ato
Use the status output as evidence. Run an activation retry only after the collected state supports the identified prerequisite; blind retries can add quota, throttle or cleanup noise.
Important distinctions
| Result | Different condition |
|---|---|
SL_E_CHPA_UNKNOWN_PRODUCT_KEY_TYPE | the server does not recognize the product-key type named by the request or stored record |
SL_E_CHPA_FAILED_TO_INSERT_PRODUCT_KEY_RECORD | the server cannot create the primary product-key record |
SL_E_CHPA_FAILED_TO_UPDATE_PRODUCT_KEY_RECORD | the server cannot commit changes to the primary product-key record |
Sort related HRESULTs by timestamp and object/request identity. The first code from the producing layer is usually more actionable than a later summary from Settings, deployment software or a wrapper.
A focused reproduction for this exact result
| Control | Design |
|---|---|
| Failing fixture | Parallel activation administration locks the same key record. |
| Single variable | Change only the narrow input or state named by the HRESULT while product identity remains fixed. |
| Positive control | A known-good value at that boundary succeeds and the failing fixture still reproduces the code. |
| Different result | If the experiment instead proves “the server does not recognize the product-key type named by the request or stored record”, follow that neighboring boundary rather than treating it as this result. |
This controlled comparison is stronger than a broad reset because it changes one prerequisite and leaves product identity, evidence source and observation method stable.
Fix the prerequisite, then verify
A supported correction is to allow the conflicting operation to finish and retry once with the same correlation scope. A representative incident is parallel activation administration locks the same key record.
Verification for this HRESULT must repeat the original operation for the same product or request scope. Confirm the intended license status, binding, policy, record or server response persists after any required restart.
Changes that make this code harder to diagnose
- avoid launching parallel requests against the same key record; it changes evidence without proving the named boundary.
- avoid editing server XML or properties without preserving the rejected payload; it changes evidence without proving the named boundary.
- avoid treating a failed database operation as a client connectivity problem; it changes evidence without proving the named boundary.
Technical references
- Plan for volume activation clients — official reference for the mechanism surrounding this result.
- Windows activation error help — official reference for the mechanism surrounding it.
- MS-ERREF Windows Error Codes
- Troubleshoot Windows activation error codes
Looking for a different code? Search another status or error code.
