<?xml version='1.0' encoding='utf-8'?>
<PRONOM-Report xmlns="http://pronom.nationalarchives.gov.uk">
  <report_format_detail>
    <FileFormat>
      <FormatID>776</FormatID>
      <FormatName>Windows Portable Executable</FormatName>
      <FormatVersion> </FormatVersion>
      <FormatAliases>Common Object File Format, COFF, EXE</FormatAliases>
      <FormatFamilies> </FormatFamilies>
      <FormatTypes> </FormatTypes>
      <FormatDisclosure> </FormatDisclosure>
      <FormatDescription>A Windows Portable Executable (PE) is synonymous with a program or application that can potentially be run on Microsoft Windows. An executable is a file-format object that is compiled from source code files written in languages such as C, C++, Golang, or Rust among others. A PE is native to Windows and like other executables or programs, provided a means of distributing applications that performed a certain task or tasks for a specific operating system. Executables are compiled to a certain register width, e.g. 8-bit, 16-bit, 32-bit or 64-bit; which impacts the size of variables in memory, and may impact compatibilty on older or newer versions of an operating system, respectively. Executables might require external libraries or configuration to function and so the technical environment needed to run an executable should be documented and understood in order to preserve functionality over time and to protect future potential users of these files. The Windows Portable Executable format is used for the 'executable' component of a program, as well as external libraries such as dynamic link libraries (DLLs) other potential extensions are listed as '.acm, .ax, .cpl, .dll, .drv, .efi, .exe, .mui, .ocx, .scr, .sys, .tsp, .mun') (https://en.wikipedia.org/w/index.php?title=Portable_Executable&amp;oldid=1182679182). Despite the name, PE files will not run on other operating systems such as MacOS and Linux. Application programs must be compiled to a specific operating system architecture to run on different environments, and PE files will have been compiled to a specific Windows architecture, e.g. 32-bit (fmt-899) or 64-bit (fmt-900).</FormatDescription>
      <BinaryFileFormat>Text</BinaryFileFormat>
      <ByteOrders> </ByteOrders>
      <ReleaseDate> </ReleaseDate>
      <WithdrawnDate> </WithdrawnDate>
      <ProvenanceSourceID>1</ProvenanceSourceID>
      <ProvenanceName>Digital Preservation Department / The National Archives</ProvenanceName>
      <ProvenanceSourceDate>17 Feb 2006</ProvenanceSourceDate>
      <ProvenanceDescription>04/2024 (v.118): Description added as part of PRONOM Research Week 2023. Submitted by Ross Spencer.</ProvenanceDescription>
      <LastUpdatedDate>17 Apr 2024</LastUpdatedDate>
      <FileFormatIdentifier>
        <Identifier>application/vnd.microsoft.portable-executable</Identifier>
        <IdentifierType>MIME</IdentifierType>
      </FileFormatIdentifier>
      <FileFormatIdentifier>
        <Identifier>com.microsoft.windows-executable</Identifier>
        <IdentifierType>Apple Uniform Type Identifier</IdentifierType>
      </FileFormatIdentifier>
      <FileFormatIdentifier>
        <Identifier>x-fmt/411</Identifier>
        <IdentifierType>PUID</IdentifierType>
      </FileFormatIdentifier>
      <ExternalSignature>
        <ExternalSignatureID> </ExternalSignatureID>
        <Signature>exe</Signature>
        <SignatureType>File extension</SignatureType>
      </ExternalSignature>
      <ExternalSignature>
        <ExternalSignatureID> </ExternalSignatureID>
        <Signature>dll</Signature>
        <SignatureType>File extension</SignatureType>
      </ExternalSignature>
      <ExternalSignature>
        <ExternalSignatureID> </ExternalSignatureID>
        <Signature>sys</Signature>
        <SignatureType>File extension</SignatureType>
      </ExternalSignature>
      <InternalSignature>
        <SignatureID>198</SignatureID>
        <SignatureName>Windows Portable Executable</SignatureName>
        <SignatureNote>Header</SignatureNote>
        <ByteSequence>
          <ByteSequenceID>1</ByteSequenceID>
          <PositionType>Absolute from BOF</PositionType>
          <Offset>0</Offset>
          <MaxOffset> </MaxOffset>
          <IndirectOffsetLocation> </IndirectOffsetLocation>
          <IndirectOffsetLength> </IndirectOffsetLength>
          <Endianness> </Endianness>
          <ByteSequenceValue>4D5A*50450000</ByteSequenceValue>
        </ByteSequence>
      </InternalSignature>
      <RelatedFormat>
        <RelationshipType>Has lower priority than</RelationshipType>
        <RelatedFormatID>1704</RelatedFormatID>
        <RelatedFormatName>Windows Portable Executable</RelatedFormatName>
        <RelatedFormatVersion> </RelatedFormatVersion>
      </RelatedFormat>
      <RelatedFormat>
        <RelationshipType>Has lower priority than</RelationshipType>
        <RelatedFormatID>1705</RelatedFormatID>
        <RelatedFormatName>Windows Portable Executable</RelatedFormatName>
        <RelatedFormatVersion> </RelatedFormatVersion>
      </RelatedFormat>
      <RelatedFormat>
        <RelationshipType>Has priority over</RelationshipType>
        <RelatedFormatID>774</RelatedFormatID>
        <RelatedFormatName>MS-DOS Executable</RelatedFormatName>
        <RelatedFormatVersion> </RelatedFormatVersion>
      </RelatedFormat>
      <RelatedFormat>
        <RelationshipType>Has priority over</RelationshipType>
        <RelatedFormatID>775</RelatedFormatID>
        <RelatedFormatName>Windows New Executable</RelatedFormatName>
        <RelatedFormatVersion> </RelatedFormatVersion>
      </RelatedFormat>
    </FileFormat>
  </report_format_detail>
</PRONOM-Report>