Microsoft veteran Raymond Chen has previously blogged, among other things, about the history of the Windows blue screen. Recently he published a new post where he walks through how Microsoft built the installer for Windows 95, which needed to run from three different operating systems: MS-DOS, Windows 3.1, and Windows 95 (for reinstallation).
Windows is backwards compatible, so in theory Microsoft could have developed the installer as a pure DOS program. But that would have meant a text-based interface throughout the installation until Windows 95 can start, which is not so inviting, writes Raymond Chen. Microsoft wanted to show off the cool new interface as soon as possible.
Another option was to develop three separate installers for the three systems, but that would have required additional development time and could have quickly become complicated.
Three-in-one
Instead, the company’s developers chose to build the installer as a chain. If the user starts in DOS, a program is run that installs a “mini-version” of Windows 3.1 to which the computer then restarts and continues. If the user already has Windows 3.1 or has reached that stage, the main installer will start which is a 16-bit Windows 3.1 program with a few small additions to spruce up the interface.
That program reads the computer’s hardware and copies the correct drivers, copies all Windows files and migrates settings from DOS/Windows 3.1 before restarting the computer to Windows 95 where the third installer runs and completes the installation of things like printer drivers.
If the user starts the installation from Windows 95, the middleware still runs and uses its own version of the DLL file commctrl.dll which contains some new graphical elements that were not included in Windows 3.1. If the installation starts in Windows 3.1, that file is missing, but the program includes a 16-bit version of it called kommctrl.dll, explains Raymond Chen in a smaller follow-up post.
Raymond Chen also notes that this was not the first time Microsoft produced a minimal installation of Windows with only the most essential files. When Excel was first released, a similar mini-version was included with Windows 2.1 so that non-Windows customers could still run the spreadsheet.
Source: www.sweclockers.com