| Previous | Next |
| STATEREPOSITORY_E_UNKNOWN_SCHEMA_VERSION | STATEREPOSITORY_E_BLOCKED |
STATEREPOSITORY_ERROR_DICTIONARY_CORRUPTED
STATEREPOSITORY_ERROR_DICTIONARY_CORRUPTED belongs to Windows StateRepository. It marks StateRepository detected invalid dictionary data rather than ordinary lock contention. The useful starting point is the exact API, object and state transition that returned 0x80670005, because a shell or application message can hide that boundary.
Where this result is raised
StateRepository is infrastructure for the Windows application model. The HRESULTs expose distinctions familiar from transactional stores: optimistic concurrency, an unfinished prepared statement, database-versus-table locking, shared-cache contention, recovery, schema compatibility, corruption, and service shutdown. These are not interchangeable reasons to delete the repository.
Dictionary structures map identifiers and metadata used by higher-level repository records. Corruption may be localized even when the database file opens, so evidence should distinguish logical dictionary validation from generic file-system damage.
Inspect the StateRepository request, database connection, prepared statement, transaction, schema generation, or service lifecycle that rejected the operation.
Evidence worth collecting
- Validation error and dictionary identity. This pins the event to an object or resource generation within the Windows StateRepository boundary.
- Database integrity-check output on a copy. This places the event on the lifecycle or transaction timeline within the Windows StateRepository boundary.
- Storage or servicing events. This separates caller input from environment and service state within the Windows StateRepository boundary.
- Last successful write and shutdown. This creates a stable comparison across retries or another machine within the Windows StateRepository boundary.
A controlled diagnostic sequence
- First: Stop mutation and preserve the original file.
- Next: Run supported integrity checks on a copy.
- Then: Correlate with disk, update, and abrupt-power events.
- Finally: Prefer supported rebuild or repair paths over row editing.
How to interpret comparison tests
| Control | Interpretation | Hold constant |
|---|---|---|
| Same database copy, isolated connections | A change points to connection/statement/transaction ownership rather than stored content. | Use a copy and preserve schema plus repository generation. |
| Same operation, controlled environment | If the result follows one machine, account, volume, network, or device, environment matters. | Keep versions and identity explicit rather than comparing only the final message. |
What this code does not justify
CACHE_CORRUPTED affects derived cache data; DICTIONARY_CORRUPTED identifies repository dictionary structures.
Do not use broad registry cleaners or delete arbitrary AppRepository files while services are running.
Verification after correction
Treat it as corrected only when the repaired or rebuilt repository passes validation and repeated application-model operations without recreating corruption; retain the original negative case so fallback cannot be mistaken for repair.
Technical references
Looking for a different code? Search another status or error code.