Windows 95 became the "first Windows" for millions of people, bringing major changes to the interface and general usage. However, that operating system also adopted some quite curious solutions at the time, such as running three operating systems during its setup. Raymond Chen, programmer at Microsoft and author of the blog "The Old New Thing", explains the reasons.
The first time I installed Windows 95 on my computer was through a LAN network, accessing a remote CD drive with the .cab files. Almost thirty years later, I still wonder how that process didn't blow up, but I imagine that having started the setup from Windows 3.11 played a little in my favor.
So we come to one of the most curious features of Windows 95: its setup used three operating systems — MS-DOS, Windows 3.x, and Windows 95 itself — with three different interfaces. Why? Raymond Chen from the blog "The Old New Thing" recently shared some technical details:
Windows 95: A Setup to Conquer Them All
The setup of Windows 95 had to cover a specific need: work correctly in MS-DOS, Windows 3.x, and Windows 95 (something useful for recovering files from a corrupted installation). The first alternative would be to create a different installer for each operating system, but that alternative is neither optimal nor desirable. The developer ends up doing the same work three times in separate versions, tripling the amount of code. Instead, the ideal is to create a single Windows 95 setup and apply it to any situation, although that also forces the person responsible to choose a platform to serve as a starting point.
If the Windows 95 setup were an MS-DOS program, it would work in all cases, but its interface would be limited to plain text, giving a rather poor impression for a state-of-the-art operating system (in 1995, of course). The other extreme is not good either: the setup as a 32-bit Windows 95 exclusive application with a graphical interface demands a prior Windows 95 environment... the chicken and the egg.
The middle ground led them to "chain setups": The first is a basic MS-DOS program, which installs a minimal and completely clean version of Windows 3.1, with the essential support to run the second 16-bit setup with a graphical interface (which can boot from the "mini 3.1", real Windows 3.x, or Windows 95 already installed). This setup does most of the work, from asking the user for information (name, product key, components to install, etc.) to detecting hardware, concluding with copying Windows 95 files and drivers, not forgetting the transfer of the previous configuration to the new operating system (e.g., wallpaper). Finally, the third setup already runs from Windows 95 and handles secondary steps such as printer installation.
To close, Raymond mentions a precedent: The original version of Microsoft Excel included a copy of Windows 2.1, in case the user did not have Windows installed.
Official site: Click here