Wat is het PCP-bestandsformaat?
Een .pcp-bestand (Windows Installer Patch Creation Properties-bestand) is een build-inputbestand voor ontwikkelaars dat door Windows Installer wordt gebruikt voor het genereren van softwarepatches. .pcp-bestanden bevatten globale instellingen voor updatepakketten en dienen als basis voor het genereren van MSP-patchbestanden. Dergelijke bestanden worden verwerkt door de patch-build toolchain - het zijn geen installatiebestanden voor eindgebruikers.
.pcp is een binair bestand opgeslagen als een OLE2 Compound File Binary (dezelfde container als MSI-databases) en kan worden geopend en bewerkt met het programma Orca dat deel uitmaakt van de Windows SDK. Patches worden gegenereerd uit .pcp-bestanden door Msimsp.exe, dat PatchWiz.dll aanroept om een doel-MSI te vergelijken met een bijgewerkte MSI en de uiteindelijke .msp-patch uit te sturen. Al deze tools worden geleverd als onderdeel van de Windows Software Development Kit (Windows SDK). Het genereren van patches vereist gespecialiseerde kennis; het installeren van de resulterende patch is echter een eenvoudig proces.
Moderne build-pipelines gebruiken vaak de WiX Toolset (via Pyro.exe en .wixmsp-descriptorbestanden) als een alternatieve benadering voor het ontwerpen, hoewel Msimsp.exe met een .pcp-bestand ondersteund blijft in Windows Installer 3.x-5.x. Ontwikkelaars beginnen meestal met een leeg template.pcp dat bij de SDK wordt geleverd.
Beveiliging & veiligheid
RISICO: LOWEen PCP is een build-inputdatabase voor ontwikkelaars, geen installatieprogramma of uitvoerbaar bestand - het openen van een bestand in Orca om het te inspecteren doet niets met uw systeem. Het installeert geen software en eindgebruikers hoeven het nooit uit te voeren. De enige echte waarschuwing is de gebruikelijke voor build-inputs: bouw/draai alleen patch-tools op .pcp-bestanden van bronnen die u vertrouwt, aangezien de resulterende .msp een geïnstalleerd product zal wijzigen. Er is geen auto-run of macro-gedrag in de PCP zelf.
Formaatdetails
in een notendopProgramma's die PCP-bestanden openen
Technische details
diepe specificaties| Bestandsstructuur | Windows Installer relationele database opgeslagen in een OLE2 Compound File Binary (CFBF) - hetzelfde containerformaat als `.msi`- en `.msp`-bestanden |
| Magic bytes (hex) | `D0 CF 11 E0 A1 B1 1A E1` op offset 0 - de OLE2/CFBF-handtekening die wordt gedeeld met `.msi` en `.msp`; het bestand onderscheidt zich door zijn interne PatchWiz-tabelschema, niet door een unieke header |
| Codering | Binair (little-endian) |
| Compressie | Geen in de database zelf; gerefereerde bron-MSI-pakketten kunnen CAB-gecomprimeerde bestandsgegevens bevatten |
| Interne tabellen | `Properties`, `ImageFamilies`, `UpgradedImages`, `TargetImages`, `ExternalFiles`, `PatchMetadata` - deze vertellen PatchWiz hoe twee MSI-images vergeleken moeten worden |
| Primaire build-tool | `Msimsp.exe` (Windows SDK) - leest de `.pcp` en roept `PatchWiz.dll` aan om het resulterende `.msp`-patchpakket te produceren |
| Bewerkingsprogramma's | **Orca** (Windows SDK MSI-database-editor); InstEd; elke OLE2-bewuste MSI-tabel-editor |
| Output-artefact | Een `.msp` Windows Installer-patchpakket klaar voor distributie en stille installatie door de eindgebruiker |
| Typische bestandsgrootte | Enkele KB tot enkele honderden KB - slaat build-instructies en bestandsreferenties op, geen payload-gegevens |
| MIME-type | `application/octet-stream` (geen formaatspecifiek MIME-type geregistreerd) |
| Bijbehorend OS | Windows (Windows Installer 1.x tot en met 5.x) |
| Modern alternatief | WiX Toolset patch-ontwerp via `Pyro.exe` en `.wixmsp`-descriptorbestanden, wat de `.pcp` + `Msimsp.exe` workflow in huidige build-pipelines grotendeels vervangt |
| Uitgebracht | circa 2000 (Windows Installer 1.x patch tooling - PatchWiz.dll) |
| Laatste versie | Stable across Windows Installer 3.x-5.x; tooling shipped in the Windows SDK |
| Specificatie | learn.microsoft.com |
PCP conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over PCP-bestanden.