This article needs additional citations for verification. (September 2018) (Learn how and when to remove this template message)
There are several file formats which may be used by a file with a .exe extension:
- 16-bit DOS MZ executable
- 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
- 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.
- 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. They are also used by some DOS extenders.
- Mixed 16/32-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.
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. Started in DOS the stub typically displays a message "This program cannot be run in DOS mode" (or similar) before exiting cleanly, this thereby constituting a minimal form of fat binary. A few dual-mode programs (MZ-NE or MZ-PE) such as regedit and older WinZIP self extractors include a more functional DOS section.
- 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").
- 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.
IExpress is a Windows program made for making .exe files. It uses self extraction directive files - .sed - to either extract files and run an installation command, extract files only or create compressed files only (ActiveX installs). It also allows you to add a package title, confirmation prompt and license agreement. For the package it also allows you to add packaged files to the file. In addition to all this it lets you add an install program and a post install command using mainly .inf files to launch from the package. Moreover it lets you decide how the window will be displayed, the options are: default, hidden, minimized and maximized. Furthermore it includes a finished message, package name and options, configure restart and save .sed file.
See More On IExpress
See More On INF file
See More On ActiveX
Besides these, there are also many custom EXE formats, including but not limited to 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).
- Comparison of executable file formats
- Executable compression
- List of file formats § Object code, executable files, shared and dynamically linked libraries
- CMD file (CP/M)
- Windows Installer files (msi)
- ".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.
- "/STUB (MS-DOS Stub File Name) Linux/Mac cannot run an exe file". MSDN. Microsoft. Retrieved 2014-01-10.
- Sedory, Daniel B. (2004-10-12). "DOS Stub Program". The Starman's Realm. Self-published. Retrieved 2014-01-10.[self-published source]
- "Using Registry Editor in Real Mode". Support. Microsoft. 2006-11-15. Archived from the original on 2014-01-15. Retrieved 2014-01-10.
- Ellermann, Frank (2014-01-22). "dostub.exe". Purl.net. Retrieved 2014-01-24.
- "PE Format". Windows Dev Center. Microsoft. 2019-08-25.
- 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.
- Paul, Matthias R. (2002-10-07) . "Re: Run a COM file". Newsgroup: alt.msdos.programmer. Archived from the original on 2017-09-03. Retrieved 2017-09-03.