file-formatportable-executableexecutable-format

What is the PEI format?


I understand that PE is a modified version of COFF, and that PE+ is a modified version of PE with 64 bit support, but what is PEI? Am I correct in saying there is no difference between PE and PEI, and they can be used interchangeably?


Solution

  • PEI isn't actually an officially recognized format or term. The PE/COFF standard describes only two formats: PE32 (the 32-bit format) and PE32+ (the 64-bit format). I have heard discussions about PE vs PEI before, but the only place I've ever come across the term PEI is in libpei, referenced in the answer by JEdot. And, as quoted in that answer, the libpei developers seem to be confused about the terminology themselves, so it really does not make sense to use the term PEI at all.

    Moreover, it is not correct that the MS-DOS stub is required to run a PE executable on Windows. It is just commonly embedded for backwards compatibility.