| Previous | Next |
| WCM_E_NOTIFICATIONNOTFOUND | WCM_E_ASSERTIONFAILED |
WCM_E_CONFLICTINGASSERTION
WCM_E_CONFLICTINGASSERTION is the failure HRESULT 0x80220019 (signed decimal -2145255399, unsigned decimal 2149711897). Its severity bit is 1, facility is 34 (FACILITY_STATE_MANAGEMENT), and the facility-specific code field is 0x0019.
AllStat records the Windows SDK description as “New restriction is conflicting with existing restriction.”
Exact meaning and contract boundary
Two metadata assertions impose incompatible requirements. The operation reached combining restrictions/assertions during metadata compilation or namespace validation. The first branch to test is whether one rule requires a value that another excludes; keep that separate from the possibility that merged manifests define incompatible ranges or enumerations.
Where the result appears
At this boundary, capture both assertion definitions and their source locations, then correlate it with setting path and scope governed by each rule. Assign ownership only after checking shared versus per-user classification.
Likely cause branches
- one rule requires a value that another excludes
- merged manifests define incompatible ranges or enumerations
- target-specific and shared assertions both constrain the same setting differently
- a schema revision narrows a rule without removing the old assertion
Evidence that resolves the ambiguity
- both assertion definitions and their source locations
- setting path and scope governed by each rule
- shared versus per-user classification
- manifest merge order and target condition branches
- a concrete value demonstrating that the intersection is empty
Diagnostic sequence
- write down the allowed set produced by each assertion
- remove or revise the obsolete rule at its authoritative source
- keep target-specific assertions mutually exclusive through conditions
- validate merged metadata, not files in isolation
- add tests for representative boundary values after reconciliation
Retry and recovery
Retry requires metadata changes. A different runtime value cannot satisfy assertions whose allowed sets do not overlap.
Difference from nearby WCM results
WCM_E_ASSERTIONFAILED means a particular value violates a valid assertion. CONFLICTINGASSERTION means the rule set itself is contradictory before a value can satisfy it.
Practical scenario
One package declares a minimum of 10 while another declares a maximum of 5 for the same setting. The merged namespace has no valid value.
Logging and engineering guidance
For operational telemetry, retain shared versus per-user classification; also record manifest merge order and target condition branches. Preserve a redacted summary of a concrete value demonstrating that the intersection is empty; use a cryptographic hash when that evidence is a file, stream, or generated artifact.
Official Microsoft references.
- Microsoft: SMI error and success constants.
- Microsoft: Settings Management Infrastructure API.
- Microsoft: SMI interfaces.
- Microsoft: ISettingsContext::Deserialize.
- Microsoft: ISettingsResult::GetLine.
Looking for a different code? Search another status or error code.
