What is the PCP file format?
A .pcp file (Windows Installer Patch Creation Properties file) is a developer build-input file used by Windows Installer for generating software patches. .pcp files contain global settings for update packages and serve as the basis for generating MSP patch files. Such files are consumed by the patch-build toolchain - they are not end-user installer files.
.pcp is a binary file stored as an OLE2 Compound File Binary (the same container as MSI databases) and can be opened and edited using the Orca program included in the Windows SDK. Patches are generated from .pcp files by Msimsp.exe, which calls PatchWiz.dll to diff a target MSI against an upgraded MSI and emit the final .msp patch. All these tools ship as part of the Windows Software Development Kit (Windows SDK). Generating patches requires specialized knowledge; however, installing the resulting patch is a simple process.
Modern build pipelines often use the WiX Toolset (via Pyro.exe and .wixmsp descriptor files) as an alternative authoring approach, though Msimsp.exe with a .pcp file remains supported across Windows Installer 3.x-5.x. Developers typically start from a blank template.pcp shipped with the SDK.
Security & safety
RISK: LOWA PCP is a developer build-input database, not an installer or executable - opening one in Orca to inspect it does nothing to your system. It does not install software and end users never need to run it. The only real caution is the usual one for build inputs: only build/run patch tooling on .pcp files from sources you trust, since the resulting .msp will modify an installed product. There is no auto-run or macro behavior in the PCP itself.
Format details
in a nutshellPrograms that open PCP files
Technical details
deep spec| File structure | Windows Installer relational database stored inside an OLE2 Compound File Binary (CFBF) - same container format as `.msi` and `.msp` files |
| Magic bytes (hex) | `D0 CF 11 E0 A1 B1 1A E1` at offset 0 - the OLE2/CFBF signature shared with `.msi` and `.msp`; the file is distinguished by its internal PatchWiz table schema, not a unique header |
| Encoding | Binary (little-endian) |
| Compression | None in the database itself; referenced source MSI packages may contain CAB-compressed file payloads |
| Internal tables | `Properties`, `ImageFamilies`, `UpgradedImages`, `TargetImages`, `ExternalFiles`, `PatchMetadata` - these tell PatchWiz how to diff two MSI images |
| Primary build tool | `Msimsp.exe` (Windows SDK) - reads the `.pcp` and invokes `PatchWiz.dll` to produce the output `.msp` patch package |
| Editing tools | **Orca** (Windows SDK MSI database editor); InstEd; any OLE2-aware MSI table editor |
| Output artifact | An `.msp` Windows Installer patch package ready for distribution and silent end-user installation |
| Typical file size | A few KB to a few hundred KB - stores build instructions and file references, not payload data |
| MIME type | `application/octet-stream` (no format-specific MIME type registered) |
| Associated OS | Windows (Windows Installer 1.x through 5.x) |
| Modern alternative | WiX Toolset patch authoring via `Pyro.exe` and `.wixmsp` descriptor files, which largely supersedes the `.pcp` + `Msimsp.exe` workflow in current build pipelines |
| Released | circa 2000 (Windows Installer 1.x patch tooling - PatchWiz.dll) |
| Latest version | Stable across Windows Installer 3.x-5.x; tooling shipped in the Windows SDK |
| Specification | learn.microsoft.com |
PCP conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about PCP files.