.exe

"EXE" redirects here. For other uses, see EXE (disambiguation).

.exe is a common filename extension denoting an executable file (the main execution point of a computer program) for DOS, OpenVMS, Microsoft Windows, Symbian or OS/2. Besides the executable program, many .exe files contain other components called resources, such as bitmap graphics and icons which the executable program may use for its graphical user interface.

File formats

There are several file formats which may be used by a file with a .exe extension:

DOS

Main article: DOS MZ executable
16-bit DOS MZ executable
The original DOS executable file format. These can be identified by the letters "MZ" at the beginning of the file in ASCII.
16-bit New Executable
Introduced with the multitasking MS-DOS 4.0 and also used by 16-bit OS/2 and Windows, NE can be identified by the "NE" in ASCII.

OS/2

32-bit Linear Executable
Introduced with OS/2 2.0, these can be identified by the "LX" in ASCII. These can only be run by OS/2 2.0 and higher.[1] They are also used by some DOS extenders.
Mixed 16/32/64-bit Linear Executable
Introduced with OS/2 2.0, these can be identified by the "LE" in ASCII. This format is used for VxD drivers under Windows 3.x, OS/2, and Windows 9x; it is also used by some DOS extenders.

Windows

Main article: Portable Executable
16-bit New Executable

When a 16-bit or 32-bit Windows executable is run by Windows, execution starts at either the NE or the PE, and ignores the MZ code known as DOS stub.[2][3] Started in DOS the stub typically displays a message "This program cannot be run in DOS mode" (or similar) before exiting cleanly. A few dual-mode programs (MZ-NE or MZ-PE) such as regedit[4] and older WinZIP self extractors include a more functional DOS section.[5]

32-bit Portable Executable
Introduced with Windows NT, these can be identified by the "PE" in ASCII (although not at the beginning; these files also begin with "MZ").[6]
64-bit Portable Executable (PE32+)
Introduced by 64-bit versions of Windows, this is a PE file with wider fields. In most cases, code can be written to simply work as either a 32 or 64-bit PE file.[7]

Other

Besides these, there are also many custom EXE formats, such as W3 (a collection of LE files, only used in WIN386.EXE), W4 (a compressed collection of LE files, only used in VMM32.VXD), DL, MP, P2, P3 (last three used by Phar Lap extenders), and probably more.

The PE format was also used in BeOS R3, although the format used by BeOS somewhat violated the PE specification as it didn't specify a correct subsystem.

See also

References

  1. "OS/2 Operating System". operating system documentation project. 2004-04-03. Retrieved 2014-02-13.
  2. "/STUB (MS-DOS Stub File Name) Linux/Mac cannot run an exe file.". MSDN. Microsoft. Retrieved 10 January 2014.
  3. Sedory, Daniel B. (2004-10-12). "DOS Stub Program". The Starman's Realm. Self-published. Retrieved 2014-01-10.
  4. "Using Registry Editor in Real Mode". Support. Microsoft. 15 November 2006. Retrieved 10 January 2014.
  5. Ellermann, Frank (2014-01-22). "dostub.exe". Retrieved 2014-01-24.
  6. "Microsoft PE and COFF Specification".
  7. Pietrek, Matt (February 2002). "An In-Depth Look into the Win32 Portable Executable File Format". MSDN Magazine (Microsoft).

External links

This article is issued from Wikipedia - version of the Monday, May 02, 2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.