New Executable
| Company type | File format |
|---|---|
| Industry | Computer software |
| Predecessor | DOS MZ executable format |
| Founded | 1985 |
| Fate | Superseded by Portable Executable (PE) and Linear Executable (LX) formats |
| Products | 16-bit executables for Windows 1.0 through 3.x, Windows 9x, MS-DOS 4.0 multitasking, OS/2 1.x, Windows NT up to version 5.0 |
The New Executable format (abbreviated as NE or NewEXE) is a 16-bit executable file type that succeeded the DOS MZ executable format. It was utilized across various platforms including Windows versions 1.0 through 3.x, Windows 9x, multitasking editions of MS-DOS 4.0, OS/2 1.x, and the OS/2 component within Windows NT up to version 5.0 (Windows 2000). Known also as a segmented executable, this format functions in 286 protected mode or unreal mode, supporting both 16-bit and mixed 16/32-bit applications.
History
Introduced with the release of Windows 1.0 in 1985, the New Executable format was soon adopted by multitasking MS-DOS 4.0 in 1986, a variant sometimes referred to as "European MS-DOS 4.0" due to its distinct development path.
Eventually, the NE format was superseded by the Portable Executable (PE) format for 32-bit and 64-bit Windows environments, while OS/2 transitioned to the Linear Executable (LX) format for its 32-bit software. Furthermore, VxD drivers employed in Windows 9x are based on the LE format.
Compatibility
Originally designed for operating systems with 16-bit architecture, NE executables remain executable on 32-bit Windows platforms but lack native support on 64-bit Windows versions because these do not run 16-bit applications without an emulator. Starting with Windows Vista, the extraction of icon resources from NE files by the 32-bit shell was discontinued.
Due to their intricate structure and infrequent use, only a limited number of .EXE packers handle NE files; examples include WinLite, PackWin, PKLite 2.01, SLR Optloader, and NeLite tailored for OS/2. The NE format is also still employed as a container for Microsoft Windows bitmap font files (.fon).
DOS stub
The file headers for New Executable (NE), Linear Executable (LX), and Portable Executable (PE) formats all retain the DOS MZ format header to maintain backward compatibility with DOS. When launched under DOS, a DOS stub program typically runs first, often displaying a message such as "This program cannot be run in DOS mode" before terminating. This mechanism serves as a simple example of a fat binary. Notably, executables from Windows 1.0 contain a header that causes DOS to abort execution with an error stating "Program too big to fit in memory"; further details can be found under Windows 1.0 Features.