| Previous | Next |
| SL_E_SFS_DUPLICATE_TOKEN_NAME | SL_E_SFS_INVALID_TOKEN_DATA_HASH |
SL_E_SFS_TOKEN_SIZE_MISMATCH
Why this is more specific than an activation failure
Keep the symbolic result SL_E_SFS_TOKEN_SIZE_MISMATCH together with HRESULT 0x8004E107. The producer is the serialized Token Store file format; at the low-level reader/writer that validates the Token Store container, descriptor table, token records and transaction state before licenses can be evaluated, Windows determined that the token’s declared length disagrees with the bytes available in its serialized extent.
This result already rules out several broad guesses: a size mismatch can be detected before hashing and does not by itself prove malicious modification. Preserve its operation name, product instance and timestamp so a later retry does not hide the original failure.
From HRESULT to a verified cause
- Use read-only inspection first: compare declared size, descriptor extent, file length and any interrupted-write or disk-error event.
State to compare on both sides of the failure
- file-system result and Software Protection event
- Tokens.dat or the applicable licensing-store file
- store header and format version
- descriptor table and token offsets
- token name, extension, declared size and hash
Where it sits in the licensing pipeline
A structural Token Store error occurs before an individual product key can be accepted or rejected. To verify this, compare declared size, descriptor extent, file length and any interrupted-write or disk-error event.
Adjacent states in the same subsystem
| Result | Different condition |
|---|---|
SL_E_SFS_DUPLICATE_TOKEN_NAME | Compared with this result, two descriptor entries resolve to the same token name where the store requires uniqueness. |
SL_E_SFS_INVALID_TOKEN_DATA_HASH | Compared with this result, the protected token payload no longer matches its recorded integrity hash. |
SL_E_SFS_BAD_TOKEN_EXT | Compared with it, a token record carries an unsupported or malformed extension/type suffix. |
Targeted fix
Correct storage corruption and regenerate the store; do not pad or truncate the record manually.
Representative case: Power loss occurs after the descriptor length is committed but before all token bytes reach disk.
Actions that usually destroy useful evidence
- Do not assume a product-key change can repair a malformed container.
- Do not edit or copy individual records inside the signed store.
Technical references
- Rebuild the Tokens.dat file — technical contract for the subsystem producing it.
- Software Licensing provider — official platform context used to interpret it.
- SoftwareLicensingService WMI class — supported state, API or recovery information relevant to this HRESULT.
- Slmgr.vbs options — reference for evidence collection and post-repair verification.
Looking for a different code? Search another status or error code.