快科技 3 月 25 日消息,微软资深工程师 Raymond Chen 近日分享了 Windows 95 鲜为人知的系统保护机制,为了阻止安装程序用旧版文件覆盖关键系统组件,Windows 95 会在安装完成后悄悄把文件换回来。
Windows 95 时代,软件安装程序通常会附带 Windows 系统组件的副本,微软的官方规范是:安装程序应先检查系统是否已存在该组件,仅在缺失或版本更旧时才进行安装。
但不少开发者并不遵守这一规范,直接用自带的副本覆盖系统文件,不管版本新旧。
这就导致 Windows 95 上频繁出现系统组件被降级的情况,依赖这些组件的其他软件随之崩溃,整个系统陷入混乱。
微软的应对方案是在 C:WindowsSYSBCKUP 目录下存放一份常见被覆盖组件的备份,每当安装程序操作后,Windows 95 会将系统中的组件版本与 SYSBCKUP 中的备份进行比对。
如果安装程序写入的是旧版本,系统会静默替换为备份中的正确版本;如果写入的确实是新版本,则更新 SYSBCKUP 中的备份。
这就导致安装程序以为自己成功覆盖了文件,实际上 Windows 在背后偷偷纠正了它的行为。
Chen 透露,微软在此之前尝试过更简单粗暴的方案,第一种是直接阻止安装程序覆盖系统文件,但结果是安装程序直接报错失败,普通用户根本无法处理。
第二种是写入一个虚拟文件来欺骗安装程序,但许多安装程序会校验文件,发现文件不对后同样报错。
相比之下,SYSBCKUP 方案既让安装程序以为自己完成了操作,又确保了系统文件的版本正确性。
这一机制虽然原始,但在那个安装程序野蛮生长的年代,有效地维护了 Windows 95 的系统稳定性。



登录后才可以发布评论哦
打开小程序可以发布评论哦