| Previous | Next |
| ERROR_MRM_GENERATION_COUNT_MISMATCH | ERROR_PRI_MERGE_MISSING_SCHEMA |
ERROR_PRI_MERGE_VERSION_MISMATCH
The PRI files to be merged have incompatible versions.
ERROR_PRI_MERGE_VERSION_MISMATCH is Windows status 15148 (0x00003B2C) associated with merging PRI files produced with incompatible format or schema versions. For ERROR_PRI_MERGE_VERSION_MISMATCH, the system meaning is “The PRI files to be merged have incompatible versions.” Preserve the value at the API boundary because subsequent cleanup or logging calls can overwrite the last-error state.
Operational meaning
For ERROR_PRI_MERGE_VERSION_MISMATCH, the key question is whether every input PRI uses a version combination supported by the same merge tool and target runtime. The value describes merging PRI files produced with incompatible format or schema versions; it does not prove that the whole domain, DNS service, network, servicing stack, application package, or operating system has failed.
Likely impact: Forcing the merge could produce an index unreadable by the target runtime. For ERROR_PRI_MERGE_VERSION_MISMATCH, record the scope that was actually tested instead of escalating from one rejected object or phase to a system-wide outage.
Where this result appears
ERROR_PRI_MERGE_VERSION_MISMATCHcan appear while processing merging PRI files produced with incompatible format or schema versions.ERROR_PRI_MERGE_VERSION_MISMATCHcan appear while merging resources.pri files for an app package, resource package, or deployment image.ERROR_PRI_MERGE_VERSION_MISMATCHcan appear while MakePri merge or build automation that combines package resource indexes.ERROR_PRI_MERGE_VERSION_MISMATCHcan appear while validation of package family, main-package, bundle, schema, and canonical output constraints.
Typical causes
- For
ERROR_PRI_MERGE_VERSION_MISMATCH, inputs were built by incompatible SDKs. - For
ERROR_PRI_MERGE_VERSION_MISMATCH, an old PRI is mixed with a new schema. - For
ERROR_PRI_MERGE_VERSION_MISMATCH, tooling was upgraded for only part of the pipeline. - For
ERROR_PRI_MERGE_VERSION_MISMATCH, cached build artifacts survived an SDK change.
Diagnostic sequence
- capture
ERROR_PRI_MERGE_VERSION_MISMATCHimmediately after the failing or status-returning call and record whether the API uses Win32, DNS_STATUS, HRESULT conversion, or callback semantics. - identify the exact target involved in merging PRI files produced with incompatible format or schema versions, including stable GUIDs, DNs, zone names, package identities, file hashes, policy names, or process identifiers as applicable.
- prove the state boundary: every input PRI uses a version combination supported by the same merge tool and target runtime.
- collect MakePri version and PRI format and schema versions before restarting services, deleting objects, rebuilding packages, or changing policy.
- correlate input file hashes and build origins with MakePri command line, input PRI inventory, package identities, schemas, file hashes, output path, tool version, and the first detailed merge diagnostic.
- for
ERROR_PRI_MERGE_VERSION_MISMATCH, determine whether the result is a failure, warning, informational completion, continuation request, or marker constant before choosing retry behavior. - for
ERROR_PRI_MERGE_VERSION_MISMATCH, after changing one responsible condition, repeat the same smallest operation and verify both success and absence of unintended partial effects.
Evidence to preserve
- For
ERROR_PRI_MERGE_VERSION_MISMATCH, collect MakePri version. - For
ERROR_PRI_MERGE_VERSION_MISMATCH, collect PRI format and schema versions. - For
ERROR_PRI_MERGE_VERSION_MISMATCH, collect input file hashes and build origins. - For
ERROR_PRI_MERGE_VERSION_MISMATCH, collect target Windows SDK. - For
ERROR_PRI_MERGE_VERSION_MISMATCH, collect clean-build result.
For ERROR_PRI_MERGE_VERSION_MISMATCH, correlate this evidence with MakePri command line, input PRI inventory, package identities, schemas, file hashes, output path, tool version, and the first detailed merge diagnostic. Preserve raw identifiers and the first detailed diagnostic: translating everything to 15148 can hide whether the cause was validation, topology, authorization, replication, policy, file I/O, packaging, or an intentional continuation state.
Recovery and retry
The recovery objective for ERROR_PRI_MERGE_VERSION_MISMATCH is to rebuild all input PRI files with a compatible SDK and schema, then merge from a clean inventory.
For ERROR_PRI_MERGE_VERSION_MISMATCH, retry only after the recorded boundary changes and prior completion is known. Read-only discovery for ERROR_PRI_MERGE_VERSION_MISMATCH can usually be repeated with bounded backoff; directory mutations, DNS updates, policy installation, servicing actions, and PRI writes require a state check first. Backoff for ERROR_PRI_MERGE_VERSION_MISMATCH cannot repair malformed input, unsupported structure, identity collision, missing authority, or incompatible package metadata.
Telemetry and support fields
- For
ERROR_PRI_MERGE_VERSION_MISMATCH, recordpri_merge_version_mismatch_operation— producing API, command, callback, or servicing phase. - For
ERROR_PRI_MERGE_VERSION_MISMATCH, recordpri_merge_version_mismatch_target— stable object, zone, policy, package, file, or account identity. - For
ERROR_PRI_MERGE_VERSION_MISMATCH, recordpri_merge_version_mismatch_state_beforeandpri_merge_version_mismatch_requested_state. - For
ERROR_PRI_MERGE_VERSION_MISMATCH, recordpri_merge_version_mismatch_first_status— earliest component-specific code before translation. - For
ERROR_PRI_MERGE_VERSION_MISMATCH, recordpri_merge_version_mismatch_server,pri_merge_version_mismatch_process, UTC timestamp, and correlation ID.
A support bundle for ERROR_PRI_MERGE_VERSION_MISMATCH should include decimal 15148, hexadecimal 0x00003B2C, the smallest reproducible request, target identity, effective configuration, and evidence from the owning Windows component. When documenting ERROR_PRI_MERGE_VERSION_MISMATCH, remove secrets from exported logs but keep SIDs, GUIDs, package-family names, record types, and hashes when they are needed to distinguish objects.
Difference from nearby results
ERROR_PRI_MERGE_MISSING_SCHEMA concerns absent schema; this code finds schemas or formats that cannot coexist by version This distinction determines whether the correct next step is input correction, topology repair, continuation, policy review, package rebuild, or no error handling at all.
Practical validation scenario
A resource package built by an older SDK is merged with a newly generated main PRI. Rebuilding both with one SDK resolves the version mismatch. A negative test should reproduce ERROR_PRI_MERGE_VERSION_MISMATCH with the responsible condition preserved; the recovery test should alter only that condition and confirm the intended final state.
Developer and administrator guidance
Developers should model ERROR_PRI_MERGE_VERSION_MISMATCH explicitly in the result domain instead of collapsing every nonzero value into “failed.” Administrators should capture evidence before destructive remediation and use the component that owns merging PRI files produced with incompatible format or schema versions. Monitoring for ERROR_PRI_MERGE_VERSION_MISMATCH should suppress range markers and classify warning, informational, cancellation, and continuation values separately from terminal failures.
References
- Microsoft: exact Win32 system error range — official context relevant to
ERROR_PRI_MERGE_VERSION_MISMATCH. - Microsoft: MakePri.exe command options — official context relevant to
ERROR_PRI_MERGE_VERSION_MISMATCH. - Microsoft: Package Resource Index files — official context relevant to
ERROR_PRI_MERGE_VERSION_MISMATCH.
Looking for a different code? Search another status or error code.