New Executable

From Wikipedia, the free encyclopedia
Jump to: navigation, search
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]

Contents

[edit] 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.

[edit] 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, and PKLite 2.01 or NeLite for OS/2.

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

[edit] 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.

[edit] See also

[edit] References

[edit] External links

Personal tools
Namespaces
Variants
Actions
Navigation
Interaction
Toolbox
Print/export
Languages