.exe
.exe is a common filename extension denoting an executable file (the main execution point of a computer program) for Microsoft Windows, OS/2, and DOS.[1]
Filename extension |
.exe |
---|---|
Internet media type | application/vnd.microsoft.portable-executable |
Magic number | 0x4d 0x5a |
Developed by | Microsoft |
Type of format | Executable file |
Container for | MZ, NE, LX, LE, PE, PE32+, W3, W4, DL, MP, P2, P3 |
Open format? | No |
File formats
There are numerous file formats which may be used by a file with a .exe extension.
DOS
- 16-bit DOS MZ executable (MZ)
- The original DOS executable file format. These formats can be identified by the letters "MZ" at the beginning of the file in ASCII. All later formats have an MZ DOS stub header.
- 16-bit New Executable (NE)
- 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 (LX)
- 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.[2]
- Mixed 16/32-bit Linear Executable (LE)
- Introduced with OS/2 2.0, these can be identified by the "LE" in ASCII. VxD drivers on Windows 3.x, OS/2, and Windows 9x.
Windows
- 32-bit Portable Executable (PE)
- Introduced with Windows NT, they are fat binaries consisting of a DOS-specific and a Windows-specific part. The DOS-specific part (dubbed DOS stub) is a legitimate 16-bit DOS program. Microsoft C++ linker, by default, uses a minimal DOS stub that prints the following message: "This program cannot be run in DOS mode."[3][4][5] Windows ignores the DOS stub and executes the Windows-specific portion that starts with the "PE\0\0" ASCII sequence (letters "PE" and two null bytes).[3] With some linkers, it is possible to specify a custom DOS stub.[3][4][6] Indeed, there are a few dual programs, such as regedit in Windows 95[7] and old versions of WinZIP self extractors.
- 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.[8] This file also includes a DOS stub.[6]
See also
References
- ".EXE File Extension". FileInfo - The File Extensions Database. Sharpened Productions. Retrieved 2019-08-16.
- "OS/2 Operating System". operating system documentation project. 2004-04-03. Retrieved 2014-02-13.
- "PE Format". Windows App Development. Microsoft. 2019-08-25.
- "/STUB (MS-DOS Stub File Name)". C/C++ Building Reference (Visual Studio 2022 ed.). Microsoft. Retrieved 2014-01-10.
- Sedory, Daniel B. (2004-10-12). "DOS Stub Program". The Starman's Realm. Self-published. Retrieved 2014-01-10.
- Ellermann, Frank (2014-01-22). "dostub.exe". Purl.net. Retrieved 2014-01-24.
- "Using Registry Editor in Real Mode". Support. Microsoft. 2006-11-15. Archived from the original on 2014-01-15. Retrieved 2014-01-10.
Windows 95 includes a Registry Editor program (Regedit.exe) that runs in both the real-mode MS-DOS environment and in the protected-mode Windows environment. When you need to modify the registry without starting Windows 95, use Registry Editor in real mode. Note that the switches listed in this article only work in real-mode.
- Pietrek, Matt (February 2002). "An In-Depth Look into the Win32 Portable Executable File Format". MSDN Magazine. Microsoft.
- Brown, Ralf (2000-07-16). "Int 21/AH=4Bh". Ralf Brown's Interrupt List. Retrieved 2018-10-30.
Further reading
- Paul, Matthias R. (2002-10-07) [2000]. "Re: Run a COM file". Newsgroup: alt.msdos.programmer. Archived from the original on 2017-09-03. Retrieved 2017-09-03.
External links
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.