Because, when they did it right, in Windows NT 3.51, the users with legacy 16 bit applications screamed. There was a 16-bit DOS compatibility box, but it wasn't bug-compatible with DOS.
Microsoft underestimated the inertia of the applications market. NT 3.51 was fine if you used it as a pure 32-bit operating system. You could even configure it without DOS compatibility. Few did.
Something the Unix world can certainly learn from.
I love that little nugget of info at the end. You could originally run excel standalone without an OS and it came with windows 2.1 bundled
Most interesting part of the whole thing for me! The later WinPE environments are some of the most overlooked computer environments out there but they were absolutely everywhere. EPOS, ATMs, digital signage, vending machines.
And of course the subject of so many BSOD photos…
I think it needed DOS … just not the Windows “shell”
Don't modern versions of Windows do the same? For example, I clearly remember that the Windows 10 installer first launches a Windows 7-like environment.
Aren't all modern (>xp) windowses just NT6 under the hood? Is there such clear delineation between 7 and 10 for example?
It feels like NT4, with 2000 on top of it, then a layer of XP, then Vista, then 7, then 8, then 10, and, finally, 11.
It’s not uncommon to do something that lands me on a dialog box I still remember from Windows NT 3.1. The upside is that they take backwards compatibility very seriously, probably only second to IBM.
It continued as 6.1, 6.2 and 6.3 for Windows 7, 8, and 8.1. But the NT kernel revamped for Windows 10. And they aligned the version numbers at that point. Windows 10 and 11 are both NT 10. The kernel has many differences within 6.x let alone the big leap to 10.
They're all NT, though I'm not sure how you mean "NT6"; XP was NT 5, Windows 10 was NT 10, and I think 11 is 11.
Yes that is Windows Preinstallation Environment (also known as Windows PE and WinPE)
https://learn.microsoft.com/en-us/windows-hardware/manufactu...
https://en.wikipedia.org/wiki/Windows_Preinstallation_Enviro...
I never thought of Windows 3.1 as an OS. The other 2 was MS-DOS and Windows 95.
Agree, the terminology in those days was “shell”.
Though Windows 95 was arguably similar running atop “DOS 7” it actually imposes its own 32-bit environment with its own “protected mode” drivers once booted. Dropping to DOS reverted to “real mode”.
So did the lastest Win3.1 for workgroups, just MS spared all the fanfare for Win95. Not sure if the 3.1 version in the installers does.
Windows 3.1 was just a graphical shell. All the drivers and stuff were still managed by DOS. You still needed to configure your system with config.sys
EDIT it’s coming back to me. Windows 3.1 did have a a subsystem for running 32 bit apps called Win32 I think that’s what you mean. This was very much in the application space though.
It still used cooperative multitasking and Win 95 introduced preemptive.
Bryan Lunduke has an article about this myth, actually!
https://lunduke.locals.com/post/4037306/myth-windows-3-1-was...
It’s backed up by another Old New Thing article at https://devblogs.microsoft.com/oldnewthing/20100517-00/?p=14...
The TL;DR is that Windows 3.1 effectively replaced DOS and acted as a hypervisor for it, while drivers could be written for Windows (and many were) or DOS (and presumably many more of those were actually distributed). The latter category was run in hypervised DOS and the results bridged to Windows callers.
(Edited after submission for accuracy and to add the Old New Thing link.)
I think it’d be fair to call it more than a shell. It was also a set of libraries that implemented the common user interface elements of Windows apps, similar to the Macintosh Toolbox but not in ROM.
It was Win32s https://en.m.wikipedia.org/wiki/Win32s
Thanks
”Win32s lacked a number of Windows NT functions, including multi-threading, asynchronous I/O, newer serial port functions and many GDI extensions. This generally limited it to "Win32s applications" which were specifically designed for the Win32s platform,[4] although some standard Win32 programs would work correctly”
It was a strange time back then for anyone who wanted to get online. Win3.1 had no TCP/IP stack so many folks used a third party download called Trumpet Winsock. IIRC you might have needed win32s in order to use it.
Looking back, Microsoft were clearly in an incredibly complicat ed transitioning phase, with very little margin for error (no patching over the Internet!)
I was only 5 or 6 maybe when I used Windows 3.1 so I may be misremembering, but didn’t it have an X on the desktop to close the GUI and return to the DOS prompt?
[delayed]
If they were going to install a bare Windows 3, they could at least make an effort to ship a bare 95.
The "mini" Windows 3.1 it came with was pretty much fully functional though, you could literally boot directly into PROGMAN.EXE as the main Windows 95 shell.
Program Manager is a shell and was actually included in Windows all the way through XP SP2 when it was phased out. You can probably run it in Windows Vista through 10 if you copy the .exe over, too.