.exe, .dll, .fon
|Type of format||Executable, dynamic-link library|
|Extended from||DOS MZ executable|
|Extended to||Portable Executable|
The New Executable (abbreviated NE or NewEXE) is a 16-bit .exe file format, a successor to the DOS MZ executable format. It was used in Windows 1.0–3.x, Windows 9x, multitasking MS-DOS 4.0, OS/2 1.x, and the OS/2 subset of Windows NT up to version 5.0 (Windows 2000). A NE is also called a segmented executable.
The first product to be released using the New Executable format was Windows 1.0 in 1985, followed by the 1986 multitasking MS-DOS 4.0, which was a separate branch of MS-DOS development, released between mainstream MS-DOS versions 3.2 and 3.3, and sometimes referred to as "European MS-DOS 4.0".
OS/2 1.0 was not released until 1987, but the "target operating system" field in the file header reserves value 01 for OS/2, and 02 for Windows, suggesting that the format was designed with OS/2 already in mind, the Joint Development Agreement between IBM and Microsoft for OS/2 having been signed in August 1985, a few months before Windows 1.0 was released in November 1985.
While designed for 16-bit OSes, NE executables can be run on 32-bit Windows. Beginning with Windows Vista, icon resources inside New Executables are not extracted and shown even by the 32-bit shell. 64-bit versions of Windows completely lack native support for running NE executables, because 64-bit Windows cannot run 16-bit programs on the processor without the help of an emulator.
Due to the rare and fairly complex nature of these files, only a few .EXE packers support it: WinLite, PackWin, PKLite 2.01, and SLR Optloader or NeLite for OS/2. The NE format is also still used as (non-executable) container for
.fon Microsoft Windows bitmapped fonts.
New (NE), linear (LX), and portable (PE) executables retain the DOS MZ format file header for backward compatibility with DOS. When run under DOS, a so-called DOS stub is executed which usually prints a "This program cannot be run in DOS mode " message and exits. This constitutes a minimal form of a so-called fat binary. Windows 1.0 executables, however, have their file header formatted in such a way that DOS refuses to run them with the "Program too big to fit in memory" error message; see Windows 1.0 Features.
- Brooks, Vernon C. "Information about the little known multitasking MS-DOS 4.0". PC DOS Retro. Archived from the original on 2020-02-21. Retrieved 2014-02-13.
- "Executable-File Header Format". Microsoft. Retrieved 2014-02-13.[dead link] Alt URL
- 16-Bit Icons Are So Passé: Windows Confidential - TechNet Magazine