Software

OSes

Why did the Windows 95 setup use Windows 3.1?

If MS-DOS could play Doom, surely a battleship gray button was a possibility?


Veteran Microsoft engineer Raymond Chen has responded to suggestions that the Windows 95 setup was overly complicated. People wanted to know: Why not just do that whole thing in MS-DOS?

Chen's response came after his November explanation of how the Windows 95 setup was three applications that would eventually lead to the Start Menu in Microsoft's modern operating system.

The setup process differed based on the environment in which the application was run. If starting in MS-DOS, the setup program would install and boot a minimal version of Windows 3.1 and then fire up a 16-bit Windows app to do much of the heavy lifting. The same 16-bit app would launch if the user ran from Windows.

It was a neat solution – engineers only needed to come up with one set of code regardless of where a user fired up the setup.

However, the question remains. Why bother with that miniature version of Windows 3.1 at all? MS-DOS was perfectly capable of bitmap graphics in order to welcome users to the future in the form of Windows 95.

Chen's patient explanation is: "Yes, MS-DOS could do graphics, in the sense that it didn't actively prevent you from doing graphics."

However, other than a BIOS call to plot a pixel on the screen, it didn't do much else.

No problem – an engineer could write the requisite code. Windows 95 required a VGA-compatible graphics card, so there was no need to worry about older tech like CGA and EGA. An engineering team could also develop basic windowing services and controls to provide buttons, text boxes, and lists.

And then there are the animations and the likely requirement for more than the basic 640KB of memory. Still, it's not a problem for an engineering team with Microsoft's resources, right?

Chen said: "Now take a step back and look at what you're doing. You're writing an operating system. (Or, if you're being charitable, you're writing an MS-DOS shell.)"

And Microsoft, of course, already had one of those. The Windows 3.1 runtime – which was very familiar to many, many engineers.

Rarely a day goes by without someone deciding that what the world really needs is another framework or never-to-be-finished side project that does little more than recreate what is available elsewhere.

For the Windows 95 setup, Microsoft used what it already had.

Chen concluded: "Windows setup still follows this pattern of installing a miniature operating system to bootstrap the setup program. But today, the miniature operating system is Windows PE, the Windows Preinstallation Environment." ®

Send us news
136 Comments

Windows 7 lives! How to keep your favorite fossil running

You probably shouldn't, but if you must, you can

Microsoft trims more CPUs from Windows 11 compatibility list

OEMs blowing dust from the processor stock cupboard, beware

Microsoft declutters Windows 11 File Explorer in the name of Euro privacy

Also hammers another nail into Cortana's coffin with the end of Location History

Your days of driver sync via Windows Server Update Services are numbered

Microsoft suggests a move to the cloud

Windows 11 stages a comeback – still miles behind older sibling

Microsoft's latest OS claws back market share from Windows 10, but the finish line is a long way off

Murena boss says customers about to wake up from its cloud storage nightmare

Four months since cloud drive kicked the bucket, but resolution comes today... hopefully

Why users still couldn't care less about Windows 11

No reason to upgrade other than the looming end of Windows 10

Microsoft quietly erases Windows 11 TPM 2.0 bypass workaround from help page

You'll upgrade that aging piece of kit and you'll like it

Microsoft to kill off Defender VPN this month

Throw Copilot down the same well, too, maybe? No? OK

Microsoft vet laments a world where even toothbrushes need reboots

Raymond Chen reflects on the never-ending cycle of updates and restarts

How Windows got to version 3 – an illustrated history

With added manga and snark. What's not to like?

WINE 10 is still not an emulator, but Windows apps won't know the difference

New double-digit vintage goes well with all sorts of things