New Executable

From Wikipedia, the free encyclopedia
New Executable
Filename extension .exe, .dll
Type of format Executable, dynamic-link library
Extended from DOS MZ 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 a special version of MS-DOS, Windows 1.0, Windows 2.x, and Windows 3.x. While it was "new" at the time of invention, it is now rare and obsolete, though it is used in a small number of programs.[1]

History

New Executable made its first appearance in Windows 1.0 in 1985 and then was used in the multitasking European MS-DOS 4.0 in 1986,[2][3] which falls between mainstream MS-DOS versions 3.2 and 3.3.,[4] and OS/2 in 1987. The target operating system field in the file header makes 01=OS/2 02=Windows 03=European MS-DOS 4.0 [5] suggesting that OS/2 support was planned when this file format was developed, knowing that the Joint Development Agreement of IBM and Microsoft for OS/2 started in August 1985, a few months before Windows 1.0 was released in November 1985.

The Portable Executable format replaced NE format in 32-bit and 64-bit versions of Windows, while LX Linear Executables replaced NE for 32 bits programs in OS/2.

Compatibility

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.[6] 64-bit versions of Windows completely lack native support for running NE executables, because 64-bit Windows can't 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.

A NE is also called a segmented executable.[1]

DOS stub

NE 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 message and exits. However, Windows 1.0 executables have their file header formatted in such a way that DOS refuses to run them with the "program too large to fit in memory" error message, see Windows 1.0 Features.

See also

References

External links

This article is issued from Wikipedia. The text is available under the Creative Commons Attribution/Share Alike; additional terms may apply for the media files.