Windows 3.11 Executable File Extensions

Microsoft Windows 3.11 relied primarily on the standard .EXE file extension to run executable applications. Because Windows 3.11 was a 16-bit operating environment that ran on top of MS-DOS, it shared MS-DOS’s core executable file conventions while introducing its own segmented internal format. This guide explains the primary executable formats used in Windows 3.11, how the system handled them, and secondary file types associated with running programs.

The Primary Extension: .EXE

The definitive executable extension in Windows 3.11 was .EXE (short for "executable"). When users launched software from the Program Manager or File Manager, the target program almost always ended in .EXE.

While Windows 3.11 shared the .EXE naming convention with MS-DOS, the internal architecture of Windows applications differed significantly:

  • The New Executable (NE) Format: Native Windows 3.11 applications used the 16-bit "New Executable" (NE) header. This format allowed the operating environment to implement dynamic linking, resource management (such as storing icons, menus, and dialog boxes inside the file), and cooperative multitasking.
  • DOS MZ Format: Standard DOS executables also used the .EXE extension with the "MZ" header (named after Microsoft engineer Mark Zbikowski). Windows 3.11 could execute these DOS applications either full-screen or inside a window using standard MS-DOS virtualization.

Supporting 32-bit Applications: Win32s

Although Windows 3.11 was fundamentally a 16-bit system, Microsoft released an add-on called Win32s. Win32s allowed Windows 3.11 to run a subset of 32-bit applications. These applications still used the .EXE extension, but their internal structure was compiled in the newer Portable Executable (PE) format—the same architecture that would later become standard in Windows NT and Windows 95.

Other Executable and Runnable File Types

In addition to .EXE, several other extensions executed code directly or served as wrappers to launch software in Windows 3.11:

  • .COM (Command File): A legacy MS-DOS binary format limited to a single 64 KB memory segment. Windows 3.11 could run .COM programs directly via its underlying DOS subsystem.
  • .BAT (Batch File): Text files containing sequences of MS-DOS commands. Running a .BAT file in Windows 3.11 invoked the command interpreter (COMMAND.COM) to execute the scripted instructions.
  • .PIF (Program Information File): While not direct binary executables, .PIF files functioned as shortcuts that told Windows 3.11 how much memory, which display mode, and what priority to allocate when launching a specific DOS .EXE or .COM program.