快科技3月25日消息,微软资深工程师Raymond Chen近日分享了Windows 95鲜为人知的系统保护机制,为了阻止安装程序用旧版文件覆盖关键系统组件,Windows 95会在安装完成后悄悄把文件换回来。

Windows 95时代,软件安装程序通常会附带Windows系统组件的副本,微软的官方规范是:安装程序应先检查系统是否已存在该组件,仅在缺失或版本更旧时才进行安装。

但不少开发者并不遵守这一规范,直接用自带的副本覆盖系统文件,不管版本新旧。

这就导致Windows 95上频繁出现系统组件被降级的情况,依赖这些组件的其他软件随之崩溃,整个系统陷入混乱。

微软的应对方案是在C:WindowsSYSBCKUP目录下存放一份常见被覆盖组件的备份,每当安装程序操作后,Windows 95会将系统中的组件版本与SYSBCKUP中的备份进行比对。

如果安装程序写入的是旧版本,系统会静默替换为备份中的正确版本;如果写入的确实是新版本,则更新SYSBCKUP中的备份。

这就导致安装程序以为自己成功覆盖了文件,实际上Windows在背后偷偷纠正了它的行为。

Chen透露,微软在此之前尝试过更简单粗暴的方案,第一种是直接阻止安装程序覆盖系统文件,但结果是安装程序直接报错失败,普通用户根本无法处理。

第二种是写入一个虚拟文件来欺骗安装程序,但许多安装程序会校验文件,发现文件不对后同样报错。

相比之下,SYSBCKUP方案既让安装程序以为自己完成了操作,又确保了系统文件的版本正确性。

这一机制虽然原始,但在那个安装程序野蛮生长的年代,有效地维护了Windows 95的系统稳定性。