News: 0175501487

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

After 30 Years, We Finally Know Why Windows 95's Installer Juggled Three Operating Systems

(Tuesday November 19, 2024 @11:42AM (msmash) from the closer-look dept.)


In a technical blog post, Microsoft veteran Raymond Chen has [1]explained why Windows 95's installation process required users to pass through three different operating systems -- MS-DOS, Windows 3.1, and Windows 95. The design choice stemmed from the need to support upgrades from multiple starting points while maintaining a graphical user interface throughout the process.

Rather than creating separate installers for MS-DOS, Windows 3.1, and Windows 95 users, developers opted for a unified approach using three chained setup programs. The process began with installing a minimal version of Windows 3.1 when starting from MS-DOS, followed by a 16-bit Windows application that handled core installation tasks, and concluded with a 32-bit Windows 95 program for final configuration steps.



[1] https://devblogs.microsoft.com/oldnewthing/20241112-00/?p=110507



Three operating systems?! (Score:3)

by Gavino ( 560149 )

Windows 95 - you make a grown man cry.

Re: (Score:3)

by ThurstonMoore ( 605470 )

Also make a dead man cum.

Re: (Score:1)

by sew3521 ( 1037710 )

Reminds me of the Windows 95 Sucks song from back in the day.

"Windows 95 you make a Pentium fry"

[1]https://youtu.be/DOwQKWiRJAA?s... [youtu.be]

[1] https://youtu.be/DOwQKWiRJAA?si=g2u0a-A2Is8aHrzo

Windows 3.1 (Score:5, Informative)

by vbdasc ( 146051 )

is not an operating system.

Re:Windows 3.1 (Score:5, Interesting)

by DarkOx ( 621550 )

arguably when running in 386 mode it was.

Re: (Score:2)

by stealth_finger ( 1809752 )

So what is it?

Re: (Score:2)

by AmiMoJo ( 196126 )

You could argue it is a shell that sits on top of MS-DOS to provide a GUI. It's a bit like how Android sits on top of Linux, and like Android it is an OS because it provides a lot of OS features that supplement or replace the underlying DOS.

Re: (Score:2)

by _merlin ( 160982 )

In 386 mode, it virtualises the underlying DOS and only calls out to it occasionally for things like accessing storage devices that it doesn't have a VxD for. Windows 3.1 in 386 mode is more like an OS that uses DOS as a fancy bootloader. Novell NetWare used DOS as a bootloader, too.

Windows was stepping stone to Presentation Manager (Score:3)

by drnb ( 2434720 )

> So what is it?

Look to Microsoft's preview vision of an upgrade path for MS-DOS. It was OS/2 1.x, another text environment, with an optional GUI, Presentation Manager. Windows was originally a comparable GUI for MS-DOS. Just a temporary stepping stone on the way to OS/2 plus Presentation manager. From the developers perspective Windows had a nearly identical API as Presentation Manager. Porting from Windows to Presentation Manager was quite easy.

So for early adopter MS-DOS users they could just go straight to OS/2 plus

Re:Windows 3.1 (Score:5, Funny)

by Zak3056 ( 69287 )

Windows: a 64-bit bolt on to a set of 32-bit extensions of a 16-bit shell for an 8-bit operating system written for a 4-bit computer by a two bit company that can't stand one bit of competition.

WinNT has always been architecture neutral (Score:2)

by drnb ( 2434720 )

> Windows: a 64-bit bolt on to a set of 32-bit extensions of a 16-bit shell for an 8-bit operating system written for a 4-bit computer by a two bit company that can't stand one bit of competition.

Well, sort of, at least for Win9x, minus the 64-bit.

WinNT, starting life as OS/2 NT, was a completely clean, architecture portable OS. It was simultaneously developed on MIPS and Intel to ensure portability. Its second major release, WinNT 4, ran on MIPS, Intel, PowerPC, and Alpha. And the market said we don't really care about anything other than the Intel version. So non-Intel architectures were resigned to internal use at Microsoft to ensure code remained architecture neutral. At some point ARM became

Re: (Score:2)

by Zak3056 ( 69287 )

I'm aware of the history, I've just been telling that joke (which I do not claim to have written) for +/-30 years and just made it longer (IIRC, the first time I heard it it started at 16-bit).

Re: (Score:2)

by drnb ( 2434720 )

Yep, I'm just objecting to the 64-bit extension of that 30 year old joke. :-)

My favorite OS (Score:2)

by Dareth ( 47614 )

Emacs is my favorite OS. The text editor is a bit weak, but overall a pretty good OS.

floppies (Score:2)

by awwshit ( 6214476 )

I once installed Windows95 from 25 floppy disks. It was painful.

Re:floppies (Score:4, Insightful)

by qbast ( 1265706 )

The fun part is that 20th disk has errors.

Re: (Score:2)

by pcaylor ( 648195 )

25 floppies? Was there a 720k floppy version of Windows 95? I only ever used (way, way too often) the 13 floppy HD version.

Re: (Score:2)

by Valgrus Thunderaxe ( 8769977 )

If it's a later version with IE4 I could see taking 24 floppies.

Re: (Score:2)

by drnb ( 2434720 )

> 25 floppies? Was there a 720k floppy version of Windows 95? I only ever used (way, way too often) the 13 floppy HD version.

It was the Dell version, the extra 12 floppies had all the "convenient" preinstalled Dell apps and 3rd party trial software.

Re: (Score:2)

by nbvb ( 32836 )

Not the release, but I remember the Chicago betas coming on what seemed like infinite 3.5" floppies.

Still not as many as Warp 3, though.

Re: (Score:2)

by drnb ( 2434720 )

> I once installed Windows95 from 25 floppy disks. It was painful.

Yeah, but then you had a lifetime supply of blank floppies a year later when you got Win95 plus Service Pack on CD-ROM. :-)

Windows 95 was an app (Score:2)

by postbigbang ( 761081 )

Many argued at the time, and the article misleads, that Windows 95 was an app. IMHO, it was. It had more memory leaks that could be tolerated, leading to emblematic COMDEX and Windows World demo gaffes.

The OS/2 - Windows divorce that lead to Windows NT, finally rid itself of loading an actual Windows kernel instead of an app. NT 3.51 was the firsts table example of this. It blew up easily, anyway. OS/2 then became used for reliability, itself a kernel, for apps like voicemail servers and "high reliability"

Re: (Score:2)

by drinkypoo ( 153816 )

> At Windows NT 4.0, Microsoft had shed much of the problems, but one remained that was a show-stopper: User as root. Until Windows XPSP2, user was root and WinXP was not only exploitable, but as stable as an Indonesian volcano.

You provably do not know what you are talking about.

Users did not have to be administrators even in NT 3.5[1], let alone 4.0.

> The Windows legacy is fraught with bad decisions.

Your comment is fraught with inaccuracies.

Re: Windows 95 was an app (Score:1)

by walbourn ( 749165 )

Users didn't have to be admin back in XP, but in practice everyone used it as such and most apps only worked properly when running with Admin rights. A huge part of Windows Vista was about moving away from running most apps as admin, which paved the way for a reasonably smooth Windows 7 app and driver experience.

Re: (Score:2)

by postbigbang ( 761081 )

You're incorrect, but let me clarify.

User had root authority. User apps had root. Download something evil, and it ran root.

I said nothing about administration.

User-invoked apps had root. Only after Windows XP SP2 did Microsoft distance user mode from the kernel.

Re: (Score:2)

by DarkOx ( 621550 )

No you are talking nonsense. All they way back to NT 3 there was system, Administrators, and users. There were various additional permissions that could be delegated to users. Things like NTFS and the registry had ACL/DACLS that could be assigned to objects within them and associated with specific users.

If you were/are an Administrator on those machines you can cause something to be run as system. You cannot do so through normal means as an ordinary user.

Please stop talking nonsense - there were plenty of

Re: Windows 95 was an app (Score:2)

by drinkypoo ( 153816 )

You are not only wrong, you have it ass backwards.

In NT3.51 the kernel, user, and graphics memory spaces were separate. They merged kernel and GDI in NT4.0 in order to improve graphics performance, and security and reliability went to shit.

Again, you do not know at all what you are talking about. Some of us were actually there and actually administered these NT versions, and you clearly did not.

Re: (Score:3)

by KlomDark ( 6370 )

It's gonna be a weird day - I'm agreeing with Drinky on something!

Re: Windows 95 was an app (Score:2)

by PPH ( 736903 )

Cool! It's like listening in on a bunch of people on death row debating whether lethal injection, hanging, snu-snu or a firing squad are the best way to go.

Re: (Score:2)

by drnb ( 2434720 )

Windows NT 3.51 was a joy to use compared to Windows 3.x or Windows 9.x. It was far more stable, more responsive. If you had an unreliable system it was likely due to a bad 3rd party driver. I had BYO at work and home, carefully picked cards, dual booted DOS/Win9x, WinNT, and Linux. The latter two were joys to use.

Microsft's Secret Weapon: Backwards Compatibility (Score:4, Interesting)

by The-Forge ( 84105 )

It's easy to look back with 20/20 vision and criticize decisions Microsoft has made, but the one that has kept them firmly embedded in business is backwards compatibility.

Businesses have custom apps they will never rewrite unless they are forced too because it will cost them too much money, so MS has gone to great pains to keep the ability to run old code as long as possible. Until the jump to 64bit, Windows could still run 16bit Windows code. Today, 32bit VB6 code on Windows 11 runs fine because they have kept quietly patching the VB runtime (this is still a big enterprise thing). Compatibility modes on some apps preloaded into the OS and manually configurable for others have kept lots of other code running. All of these have led to MS staying dominant.

I love Linux, but it has a backwards compatibility problem. You can't run something compiled a few years ago and expect it to run on a fresh install of any distribution without running into a dependency nightmare for some library. MS and Windows may be messy, but they have Linux beat on this front.

Memory was the nasty decision. (Score:2)

by rsilvergun ( 571051 )

Win95 required 4mb of ram, it needed 6 and really 8.

4mb was just enough to install it, and it was completely unusable like that.

This would be fine and all but to get 95 into that 4mb so it could boot (and nothing else) a bunch of short cuts were taken that made it much, much less stable.

You can thank a lot of your crashes back in the day on that one decision made for a few extra upgrade sales.

Re: (Score:2)

by edwdig ( 47888 )

An interesting take. I never tried Win95 with 4 MB, but I hated it with 8 MB. I'm not sure at what point I considered it usable... 16 or 32? Memory capacity went up fast in those days.

Else make your own installer. (Score:2)

by Mirnotoriety ( 10462951 )

a. Clone a working image to the new drive.

b. Boot into safe mode. Erase the Registry ENUM entries.

c. Reboot and re-detect the hardware.

No one's asking about the 27 floppy disks? (Score:2)

by danielcolchete ( 1088383 )

Most users had Windows 3.1 or 3.11, running an install that started there, replaced the OS, rebooted and continued on the new one made sense to me back then.

But carrying around a stack of 27 floppy disks no one asks about?

If funny how that was probably a factor here as well. If zip drives were mainstream they would've probably taken a different direction.

The pre-internet times were not cool :D

I love Linux but .. (Score:2)

by Mirnotoriety ( 10462951 )

[1]The-Forge [slashdot.org]: “I love Linux, but it has a backwards compatibility problem. You can't run something compiled a few years ago and expect it to run on a fresh install of any distribution without running into a dependency nightmare for some library. MS and Windows may be messy, but they have Linux beat on this front.”

You're talking nonsense. It's with the MICROS~1 product the people on older Windows/Office versions have difficulty in reading files sent from the latest Windows/Office version.

--

p

[1] https://tech.slashdot.org/comments.pl?sid=23525227&cid=64957239

Re: (Score:2)

by HatofPig ( 904660 )

Yeah. Linux doesn't have a backward compatability problem. Society has a user-doesn't-have-the-source-code problem.

It could go worst... (Score:2)

by LordHighExecutioner ( 4245243 )

Microsoft Copilot: I see that you want to install Windows 11 on your computer.

To begin the installation, we first need to install MS/DOS 2.11

......

Now we upgrade to MS/DOS 3.1

......

Next let us install Windows 3.1

.....

And now Windows Vista

.....

Installing now Windows 8

(desperate customer hangs himself at the ceiling...)

I still maintain the point that designing a monolithic kernel in 1991 is a
fundamental error. Be thankful you are not my student. You would not get a
high grade for such a design :-)
-- Andrew Tanenbaum to Linus Torvalds