| Previous | Next |
| ERROR_PRI_MERGE_RESOURCE_PACKAGE_REQUIRED | ERROR_MCA_INVALID_CAPABILITIES_STRING |
ERROR_PRI_MERGE_INVALID_FILE_NAME
Invalid name supplied for a canonical merged PRI file.
ERROR_PRI_MERGE_INVALID_FILE_NAME is Windows system result 15158 (0x00003B36). Microsoft defines it as “Invalid name supplied for a canonical merged PRI file.” The value should be captured immediately at the producing boundary because later diagnostics, cleanup, or retry code can overwrite a thread-local last-error value or collapse a richer native status.
How to classify the result
This result represents a PRI merge output-name validation failure. The correct interpretation depends on the canonical merged PRI filename, output directory, package identity, and resource-indexing command that supplied it.
The most important boundary for this Win32 error is whether the operation reached a documented final state.
Where it can appear
- This result can appear in MakePri or an MRM resource indexer merge operation.
- This result can appear in application packaging that combines resources from dependencies.
- It can appear in deployment tooling generating a canonical resources.pri artifact.
When it is found only in a log, preserve the logger, event provider, process, thread, and translation path.
Typical causes
- the output name contains a path where only a canonical filename is accepted.
- the filename has invalid characters or an unsupported extension.
- an empty, relative, or traversal-style name reaches the merge layer.
- the caller confuses package name with PRI filename.
- normalization changes the name after collision checks.
These causes are starting points for this Win32 error, not substitutes for evidence.
Evidence to preserve
- Record raw and normalized output filename for this Win32 error.
- Record output directory and package root for this Win32 error.
- Record MakePri command line or indexer API parameters for this Win32 error.
- Record package identity and resource schema name for this Win32 error.
- Record verbose or XML indexer log for this Win32 error.
Also retain decimal 15158, hexadecimal 0x00003B36, UTC time, machine build, component version, and a correlation identifier.
Recovery and retry
The recovery objective for this Win32 error is to Supply a valid canonical PRI filename in the correct parameter and keep path selection in the documented output-location field.
Retry only after changing the filename. Repeating the merge with identical input cannot repair a syntactically rejected name.
Difference from related results
It is narrower than a general file-not-found or access-denied result: validation rejects the canonical merged name before ordinary file I/O.
Keep the original constant in telemetry rather than replacing it with a nearby result that seems more familiar.
Practical validation scenario
A packaging script passes C:\build\resources.pri as the canonical name while also supplying an output directory. Splitting the value into directory and resources.pri lets the merge proceed.
A useful test report for this Win32 error includes the failing call, exact input, state before the call, raw output, expected state, and observed state after recovery.
Telemetry and support fields
- Record
pri_merge_invalid_file_name_operationfor the producing API, callback, wait, driver, packaging phase, or service transition. - Record
pri_merge_invalid_file_name_targetfor the stable session, selector, device, pin, content, resource, service, or validation identity. - Record
pri_merge_invalid_file_name_state_beforeandpri_merge_invalid_file_name_requested_stateusing explicit units and enum names. - Record
pri_merge_invalid_file_name_raw_status, the original result domain, and any later HRESULT or Win32 conversion. - Record
pri_merge_invalid_file_name_attempt, elapsed time, process and thread IDs, server or device instance, and correlation ID.
Alerting for this Win32 error should reflect the classification above.
Developer and administrator guidance
Packaging tools should validate canonical names before invoking MRM and log both raw and normalized values. Build systems should retain the MakePri diagnostic log as an artifact.
Developers should preserve it at module boundaries and document whether ownership of buffers, handles, mutexes, callbacks, or transition contexts changes on return.
References
- Microsoft: System Error Codes 12000–15999
- Microsoft: MakePri command-line options
- Microsoft: MrmDumpPriFile
Looking for a different code? Search another status or error code.
