| Previous | Next |
| SL_E_SFS_INVALID_SYNC | SL_E_SFS_BAD_TOKEN_EXT |
SL_E_SFS_BAD_TOKEN_NAME
What the protected licensing code means
Keep the symbolic result SL_E_SFS_BAD_TOKEN_NAME together with HRESULT 0x8004E104. 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 a serialized token name violates the naming rules expected by the store index.
For triage, this belongs to the serialized Token Store file format. The name is malformed; the extension and payload can still be structurally valid. Product-key changes or network tests are useful only when the evidence points back to those layers.
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, preserve the raw name length and encoding, descriptor entry and source package that introduced the token.
Minimum data for a reliable diagnosis
- descriptor table and token offsets
- token name, extension, declared size and hash
- file-system result and Software Protection event
- Tokens.dat or the applicable licensing-store file
- store header and format version
From HRESULT to a verified cause
- Record this result,
0x8004E104, the exact API or service operation, and the affected product or protected object. - Prove the specific condition: preserve the raw name length and encoding, descriptor entry and source package that introduced the token.
- Compare the neighboring results below and identify which condition actually applies.
Why the symbolic code matters
| Result | Different condition |
|---|---|
SL_E_SFS_BAD_TOKEN_EXT | Compared with this result, a token record carries an unsupported or malformed extension/type suffix. |
SL_E_SFS_INVALID_SYNC | Compared with this result, a token record does not have a matching or valid synchronization marker at its header and footer. |
SL_E_SFS_DUPLICATE_TOKEN_NAME | Compared with it, two descriptor entries resolve to the same token name where the store requires uniqueness. |
Safe recovery direction
Remove or reinstall the responsible signed license package through supported licensing tools, then refresh evaluation.
Representative case: A malformed migration package creates a token record with an empty or invalid name component.
Actions that usually destroy useful evidence
- Do not edit or copy individual records inside the signed store.
- Do not assume a product-key change can repair a malformed container.
Technical references
- Rebuild the Tokens.dat file — official platform context used to interpret it.
- Software Licensing provider — supported state, API or recovery information relevant to this HRESULT.
- SoftwareLicensingService WMI class — reference for evidence collection and post-repair verification.
- Slmgr.vbs options — technical contract for the subsystem producing it.
Looking for a different code? Search another status or error code.