| Previous | Next |
| SL_E_TOKEN_STORE_INVALID_STATE | SL_E_NOT_EVALUATED |
SL_E_EVALUATION_FAILED
What this Software Protection result isolates
SL_E_EVALUATION_FAILED (0xC004E003) is emitted by the logical license and token repository. It marks a specific point inside the repository layer that initializes licensing context, locates token records, parses properties, serializes files and synchronizes concurrent access: the rules engine attempted license evaluation but could not produce a valid result.
This distinction matters because evaluation was attempted; NOT_EVALUATED means no completed evaluation exists. A later “not licensed” state should not replace the first exact HRESULT in logs.
What to capture before recovery
- file path, access result and Security-SPP event
- target Application ID and Activation ID
- token or license identifier
- property name, type and serialized value
- store initialization and mutex state
Where it sits in the licensing pipeline
The logical token repository sits below product activation: a missing, unreadable or inconsistent token can prevent evaluation before any server request occurs. To verify this, capture exact Activation ID, input licenses/policies, preceding store or crypto error and LicenseStatusReason.
Store initialization, property parsing, file I/O and synchronization failures require different repairs even when the activation UI shows the same unlicensed state.
Do not confuse it with these nearby results
| Result | Different condition |
|---|---|
SL_E_NOT_EVALUATED | Compared with this result, the requested license state has not yet been evaluated for this context or generation. |
SL_E_TOKEN_STORE_INVALID_STATE | Compared with this result, the logical license repository contains mutually inconsistent state that prevents reliable evaluation. |
SL_E_INVALID_CONTEXT | Compared with this result, the licensing operation received a context that is missing, stale or belongs to another operation/product instance. |
A reproducible troubleshooting path
- Record it,
0xC004E003, the exact API or service operation, and the affected product or protected object. - Prove the specific condition: capture exact Activation ID, input licenses/policies, preceding store or crypto error and LicenseStatusReason.
- Compare the neighboring results below and identify which condition actually applies.
Actions that usually destroy useful evidence
- Do not repeatedly installing keys while repository operations are failing.
- Do not rename or replacing store files without preserving the original and following the supported rebuild sequence.
Recommended handling
Correct the earliest input/store/policy failure and refresh the same product instance.
Representative case: A product has installed licenses, but one required policy input cannot be parsed during evaluation.
Technical references
- Rebuild the Tokens.dat file — reference for evidence collection and post-repair verification.
- Software Licensing provider — technical contract for the subsystem producing it.
- SoftwareLicensingService WMI class — official platform context used to interpret it.
- SoftwareLicensingProduct WMI class — supported state, API or recovery information relevant to this HRESULT.
Looking for a different code? Search another status or error code.
