After 30 Years, We Finally Know Why Windows 95's Installer Juggled Three Operating Systems 58
In a technical blog post, Microsoft veteran Raymond Chen has 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.
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.
Three operating systems?! (Score:4, Funny)
Re: (Score:3)
Also make a dead man cum.
Re: (Score:1)
Reminds me of the Windows 95 Sucks song from back in the day.
"Windows 95 you make a Pentium fry"
https://youtu.be/DOwQKWiRJAA?s... [youtu.be]
Windows 3.1 (Score:5, Informative)
is not an operating system.
Re:Windows 3.1 (Score:5, Interesting)
arguably when running in 386 mode it was.
Re: (Score:2)
Re: (Score:3)
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:Windows 3.1 (Score:4, Informative)
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.
Re: (Score:2)
It's been a while, but I remember logging in to NetWare and launching Windows 3.1 from OS/2 Warp. I can't for the life of me remember why OS/2 was in the mix.
Re: Windows 3.1 (Score:2)
It's very different with NetWare. In Windows
3.1, any filesystem call gets propagated all the way down to DOS for handling. That's right, Windows 3.1 can't even open files without DOS' help (Windows for Workgroups 3.11 fixes this tbh). How people are calling it an OS is beyond me.
OTOH NetWare , once loaded, never calls DOS. Same with Linux, when loaded from DOS via LOADLIN.
Re: (Score:2)
And this is where Windows got into anti-trust trouble.
When you started Windows 3.x in 386 mode, Windows "sucks the brains" of DOS - that is, it pokes inside private DOS data structures and extracts information like the list of o
Windows was stepping stone to Presentation Manager (Score:4, Interesting)
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 Presentation Manager and all the 3rd party apps.
For the ladder MS-DOS users they could add Windows to DOS, start using 3rd party GUI apps, then in the future migrate to OS/2 plus Presentation Manager and find their familiar apps there too. Windows was to be a bridge from DOS to OS/2 plus Presentation Manager. As Win95 was become a bridge from MS-DOS plus Windows to WinNT.
Halfway through this plan Microsoft noticed how viable Windows was and decided to divorce their partner IBM. Windows would now be their GUI based operating system. The OS/2 NT project (the architecture portable OS/2 3.0) was renamed Windows NT. Win95 was created to be a bridge to WinNT.
Re:Windows 3.1 (Score:5, Funny)
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:3)
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)
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)
Re: Windows 3.1 (Score:2)
There is nothing 4-bit in the genealogy tree of DOS, Windows and Intel x86 CPUs, however. Intel made some 4-bit CPUs, but they were a dead end, unrelated to x86 stuff.
Re: (Score:2)
Well, in the geneology of Intel CPUs, you had the 4004, which was a 4 bit CPU. That begat the 8008, which was an 8 bit CPU. Which begat the 8080 which fixed a lot of things about the 8008 and which may be actually seen as a CPU. The 8080 was really popular, and Intel worked on the 8086, which was a 16-bit CPU to complement the 8-bit 8080.
The a
My favorite OS (Score:2)
Re: (Score:2)
People don't appreciate how good it was for the time. It worked on 16-bit systems such as the 80286 at 5 mhz with only 1 megabyte of ram and it had multitasking (although cooperative) and provided the win16 api. I'd call that a proper OS.
floppies (Score:3)
I once installed Windows95 from 25 floppy disks. It was painful.
Re:floppies (Score:5, Funny)
Re: (Score:2)
I can hear the drive making that grinding sound...
Re: (Score:2)
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)
Re: (Score:2)
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)
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)
I'm having trouble finding a reference, definitely 25 floppies.
Here is someone in the comments saying it was an upgrade version that had 25, but no source:
https://superuser.com/question... [superuser.com]
Re: (Score:2)
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. :-)
Re: (Score:2)
I once installed Windows95 from 25 floppy disks. It was painful.
It was a rite of passage. Wear it with pride, and tell your kids "Psssshaw, you and your online installations. In MY day, we installed the OS from 25 floppies, uphill both ways in the snow. And we were grateful for it!"
Re: (Score:2)
Windows 95 was an app (Score:3)
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" systems.
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.
The Windows legacy is fraught with bad decisions.
Re: (Score:2)
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)
Re: (Score:2)
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)
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: (Score:2)
We're talking Windows 95 here. Get your story straight.
The timeline is Windows 1/2/3/95/98/ME.
OS2, divorce, NT3, 3.51, 4, and beyond.
Until Windows XPSP2, there was little diff between user and admin, so far as execution was concerned.
The NT timeline merged at Vista with XP. Vista broke a lot of stuff. As a user OS, it wasn't ready. Windows 7 stabilized the merger. At Vista, there was little difference between the NT branch and the user branch in Vista, the Ring 0 destiny complete. I was there, wrote books o
Re: Windows 95 was an app (Score:2)
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)
Re: Windows 95 was an app (Score:2)
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)
Microsft's Secret Weapon: Backwards Compatibility (Score:4, Interesting)
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)
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)
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.
Re: (Score:2)
Of course, Microsoft killed that by removing the 16 bit libraries from 64 bit Windows. This is why Windows 7 and older tended to be the last version of Windows that could run a bunch of programs from the Windows 3.1 through ME era. If Microsoft had included the libraries, or made them optional at least for 16 bit, they could fix it, or a "compatibility mode" could run these in a sandbox environment on the modern versions of Windows.
Re: (Score:2)
Not quite the same. Linux has enough problems just traversing a few years. The range from Windows 3.1 release to Windows 7 EOL is just shy of 3 decades.
The issue fundamentally is that keeping old libraries around isn't just a case of throwing in a DLL here or there. There are very real maintenance issues maintaining old code and testing it against new changes. Even Linux gave up on i386 and while Windows was known as the system that had great software backwards compatibility, Linux was the OS that had great
Re: Microsft's Secret Weapon: Backwards Compatibil (Score:2)
"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"
Which is mostly a myth since Vista. You can't even run unpatched Civ2 on XP Mode on Windows 7. A whole ass virtual machine isn't enough to make old windows software work.
Microsoft deliberately chose not to support 16 bit applications in the NTVDM used on 64 bit Windows, despite the fact that it is completely possible. In fact there is fre
Re: (Score:2)
Understanding the logic/reasoning of some decisions is what this is about, not just observing them. If you deal with some issues multiple times, you know you have figured out a solution, but if you want to explain it to someone, the methodology is more interesting/important than just the steps themselves.
Else make your own installer. (Score:2)
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)
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
Re: (Score:2)
CD ROM drives were common by 1995, and Windows 95 came out at the end of August of that year. The internet says that Zip drives would have been about for about 5 months. A flyer I found online shows CD ROM drives at the time ranging in price from $500 for a 6x beast to just $125 for one a 2x model on the high and low ends. A Zip drive would set you back $200.
This was also the age of the multi-media, so a CD drive offered a lot of value. CDs were cheap to produce and had a lot of storage, so we were absol
I love Linux but .. (Score:2)
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
Re: (Score:3)
Re: I love Linux but .. (Score:2)
It's not just about source code availability.
Many APIs and driver interfaces change over time, in ways that break things. Source compatibility is not always guaranteed, let alone binary compatibility.
For all their faults, MS tries to maintain both source and binary compatibility. They don't always succeed, of course. But they try. Linux often breaks things, very intentionally.
Re: I love Linux but .. (Score:2)
I see you haven't actually tried this.
Loki_Compat would like a word. Except even it isn't enough to get the old Loki games working on modern Linux.
If you want to run old Linux binaries by far your best bet is to use an old Linux in a virtual machine.
It could go worst... (Score:2)
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...)