Windows 95 defenses against installers that overwrite a file with an older version (2026-03-25 07:04)

Please be advised that the following was written or last updated a while ago and may therefore contain outdated information or opinions I no longer hold. 请知悉下文自写作或上次更新已届相当时限,或包含过时信息及已摒弃观点。

Raymond Chen:

Back in the days of 16-bit Windows, many system components were redistributable, meaning that programs that used those components could include a copy of those system components and install them onto the system as part of the program’s installer.

It was common for program installers to overwrite any file that was in their way, regardless of the existing file’s version number. When these installers ran on Windows 95, the replaced the Windows 95 versions of the components with the Windows 3.1 versions.

Windows 95 worked around this by keeping a backup copy of commonly-overwritten files in a hidden C:\Windows\SYSBCKUP directory. Whenever an installer finished, Windows went and checked whether any of these commonly-overwritten files had indeed been overwritten. If so, and the replacement has a higher version number than the one in the SYSBCKUP directory, then the replacement was copied into the SYSBCKUP directory for safekeeping. Conversely, if the replacement has a lower version number than the one in the SYSBCKUP directory, then the copy from SYSBCKUP was copied on top of the rogue replacement.

An earlier design simply blocked the installer’s attempt to overwrite the file, but this ended up creating more problems.

The way that worked best was to let the installer overwrite anything it wanted and then go back and try to clean up the mess.