Windows 95 and the Installer Dilemma
In a recent revelation, Microsoft veteran Raymond Chen has shed light on an intriguing aspect of Windows 95’s functionality, specifically how the operating system dealt with installers that inadvertently overwrote its crucial system files. This issue harkens back to the era of 16-bit Windows, a time when many system components were designed to be redistributable. Installers had the ability to include copies of these components, placing them directly onto target computers.
The expectation was straightforward: setup programs were to compare the version numbers of existing files against those being installed, allowing overwrites only if the new file boasted a higher version number. This process, while seemingly simple, stands in stark contrast to the complexities faced by developers today, who must navigate the intricacies of registry management and dependency issues.
Chen pointed out that this version-checking rule was predicated on Windows’ commitment to backward compatibility, ensuring that newer versions of files would still function correctly with older programs. However, in practice, many installers disregarded this guideline entirely. It was not uncommon for setup programs to overwrite existing Windows 95 components with their outdated Windows 3.1 versions.
“You can imagine how much of a disaster this caused to the rest of the system,” Chen remarked, highlighting the chaos that ensued from such actions.
Even decades after the launch of Windows 95, one might wonder why the operating system permitted such reckless behavior from installers. The answer lies in its dedication to backward compatibility; preventing file operations could potentially disrupt the installer itself, leading to further complications.
“This ended up creating more problems,” Chen elaborated. “Some installers declared the installation a failure and simply gave up. Others displayed error messages, leaving users to ponder what to do next—an unenviable position for anyone.”
In some cases, installers resorted to even more drastic measures, attempting to bypass restrictions by rebooting the system and executing a batch file to overwrite the necessary files. This added another layer of complexity to an already fraught process.
To mitigate these challenges, Microsoft devised a clever solution: a hidden directory, c:windowssysbckup, was created to store commonly overwritten files. After an installation concluded, Windows would quietly assess the version numbers on the disk. If a higher version was detected, it would be copied into this hidden directory, effectively replacing any lower versions.
“Basically,” Chen explained, “Windows 95 waited for each installer to finish, then went back and checked its work, fixing any mistakes that the installer made.”
This meticulous approach relied on the operating system’s awareness of the setup program’s activities, ensuring that the integrity of Windows 95 was maintained despite the potential chaos introduced by third-party installers. Today, however, as users observe the ongoing evolution of Windows, their concerns may have shifted from installers to the changes being implemented by Microsoft itself regarding the operating system’s core files.