New Executable (сокращенно NE или NewEXE ) — это 16-битный формат исполняемого файла , преемник формата исполняемого файла DOS MZ . Он использовался в Windows 1.0–3.x, Windows 9x , многозадачной MS-DOS 4.0 , [1] OS/2 1.x и подмножестве OS/2 Windows NT до версии 5.0 (Windows 2000). NE также называется сегментированным исполняемым файлом. [2] Он использует защищенный режим 286 .
Первым продуктом, выпущенным с использованием нового формата исполняемых файлов, стала Windows 1.0 в 1985 году, за которой в 1986 году последовала многозадачная MS-DOS 4.0 , которая была отдельной ветвью развития MS-DOS, выпущенной между основными версиями MS-DOS 3.2 и 3.3 и иногда называемой «европейской MS-DOS 4.0».
Формат Portable Executable (PE) заменил формат NE в 32- и 64-разрядных версиях Windows, в то время как Linear Executables (LX) заменил NE для 32-разрядных программ в OS/2. VxD в Windows 9x также использует формат LE .
Хотя исполняемые файлы NE предназначены для 16-разрядных ОС , их можно запускать в 32-разрядной Windows . Начиная с Windows Vista, ресурсы иконок внутри новых исполняемых файлов не извлекаются и не отображаются даже в 32-разрядной оболочке. [3] В 64-разрядных версиях Windows полностью отсутствует встроенная поддержка запуска исполняемых файлов NE, поскольку 64-разрядная Windows не может запускать 16-разрядные программы на процессоре без помощи эмулятора.
Из-за редкой и довольно сложной природы этих файлов, только несколько упаковщиков .EXE поддерживают их: WinLite, PackWin, PKLite 2.01 и SLR Optloader или NeLite для OS/2. Формат NE также по-прежнему используется как (неисполняемый) контейнер для .fon
растровых шрифтов Microsoft Windows.
Новые (NE), линейные (LX) и переносимые (PE) исполняемые файлы сохраняют заголовок файла формата DOS MZ для обратной совместимости с DOS . При запуске под DOS выполняется так называемая заглушка DOS , которая обычно выводит сообщение «Эта программа не может быть запущена в режиме DOS» и завершается. Это представляет собой минимальную форму так называемого толстого двоичного файла . Однако исполняемые файлы Windows 1.0 имеют заголовок файла, отформатированный таким образом, что DOS отказывается запускать их с сообщением об ошибке «Программа слишком большая для размещения в памяти»; см. Функции Windows 1.0 .