| Previous | Next |
| SL_E_CHPA_PRODUCT_KEY_BEING_USED | SL_E_CHPA_FAILED_TO_UPDATE_PRODUCT_KEY_RECORD |
SL_E_CHPA_FAILED_TO_INSERT_PRODUCT_KEY_RECORD
How to interpret this HRESULT
When SL_E_CHPA_FAILED_TO_INSERT_PRODUCT_KEY_RECORD returns 0xC004C780, diagnosis has reached the CHPA activation-server workflow. Specifically, the server cannot create the primary product-key record.
This result comes from activation-service processing after request construction. The useful distinction is whether a business rule, schema field, key record or persistence operation failed. The code is not interchangeable with failure to add a child property or binding after the record exists.
Windows reports “The activation server reported that it failed to insert product key record”.
Relevant processing model
| Stage | Role |
|---|---|
| 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 operation. |
| Server response | The client sees this result after CHPA rejects or cannot persist the requested change. |
What to collect first
| Evidence | Question answered |
|---|---|
| activation request ID and CHPA/server timestamp | Which CHPA entity was being inserted, updated, deleted or queried? |
| product-key record identity and key type | Did schema validation finish before persistence was attempted? |
| business-rule name or server operation | Is another transaction using the same product-key record? |
| record key, insert/update intent and concurrency version | Can caller identity and elevation be captured before changing state? |
| Code-specific distinction | Does the evidence support “check required key metadata, uniqueness and server persistence health” rather than failure to add a child property or binding after the record exists? |
Checks in a useful order
- Before remediation, confirm that the failure is not instead the neighboring condition: failure to add a child property or binding after the record exists.
- Record
0xC004C780, UTC time, caller and the first method or server request that returned it.
REM Evidence context: SL_E_CHPA_FAILED_TO_INSERT_PRODUCT_KEY_RECORD
cscript %windir%\system32\slmgr.vbs /dlv
cscript %windir%\system32\slmgr.vbs /ato
Keep neighboring codes separate
| Result | Different condition |
|---|---|
SL_E_CHPA_FAILED_TO_UPDATE_PRODUCT_KEY_RECORD | the server cannot commit changes to the primary product-key record |
SL_E_CHPA_PRODUCT_KEY_BEING_USED | another server-side operation or user currently owns the product-key record needed by this request |
SL_E_CHPA_UNKNOWN_PRODUCT_KEY_TYPE | the server does not recognize the product-key type named by the request or stored record |
A focused reproduction for this exact result
| Control | Design |
|---|---|
| Failing fixture | An import attempts to create a duplicate primary key record. |
| Single variable | Change only absence of the target object plus uniqueness of its proposed identity. |
| Positive control | A clean transaction creates one new object with all required parent data present. |
| Different result | If the experiment instead proves “the server cannot commit changes to the primary product-key record”, diagnose that condition separately rather than treating it as this HRESULT. |
Safe recovery direction
To correct this using supported mechanisms, check required key metadata, uniqueness and server persistence health.
Changes that make this code harder to diagnose
- Avoid treating a failed database operation as a client connectivity problem.
- Avoid launching parallel requests against the same key record.
- Avoid editing server XML or properties without preserving the rejected payload.
Technical references
Looking for a different code? Search another status or error code.
