返回上一页  首页 | cnbeta报时: 18:14:23
微软老员工分享Windows 95的故事:悄然“回滚”外部安装程序 阻止系统被搞崩
发布日期:2026-03-25 15:23:27  稿源:cnBeta.COM

在过去几年里,关于微软 Windows 的历史趣闻不断曝光:从为何图形界面策略长期割裂,到 Windows 95 安装光盘里藏着不少“有趣小玩意”,再到那些帮助老电脑更快重启的冷门技巧等。 近日,又有一位微软老员工分享了当年 Windows 95 在对付“捣乱”安装程序方面的一段鲜为人知的故事。

据曾在微软负责 Windows 的工程师 Raymond Chen 回忆,在 Windows 95 时代,许多第三方软件的安装程序会自带一批系统可再发行组件,用来保证软件在用户电脑上能顺利运行。 微软当时给出的官方指引是:安装程序在复制这些组件时,必须先检测系统中是否已存在同名组件,以及现有版本是否更新;只有在系统不存在该组件,或系统版本更旧的情况下,才能覆盖安装。

然而,现实中并非所有开发者都遵守这一规范。 一些安装程序无视版本检查,简单粗暴地用自己捆绑的文件替换系统组件,不管系统里的是新版本还是旧版本。 这样一来,原本已经更新到较新版本的 Windows 95 关键组件,反而被回滚成老版本,导致其他依赖新版本组件的软件出现各种异常甚至崩溃,系统稳定性也随之大打折扣。

面对这种“被倒退”的风险,微软最终设计出一个并不花哨却非常实用的折中方案:在系统目录下维护一个名为 C:WindowsSYSBCKUP 的隐藏备份目录。 该目录中保存了那些最常被外部安装程序覆盖的关键系统组件副本。 当安装程序完成运行后,Windows 95 会在后台悄悄执行一次“版本对比”:将系统当前的“新”组件与 SYSBCKUP 目录中的备份版本逐一比对。

如果发现某个组件被安装程序替换成了更旧的版本,系统便会在用户毫无察觉的情况下,把它重新替换为 SYSBCKUP 中保存的较新副本,相当于自动“撤销”了这次错误覆盖。 如果检测到安装程序确实带来了更高版本的组件,Windows 95 则会同步更新 SYSBCKUP 中对应的备份文件,以便今后继续作为恢复基准。

Chen 表示,从工程角度看,这种做法其实比较“原始”,但已经远胜于微软最初尝试的一些粗暴方案。 比如,一开始微软尝试过直接阻止安装程序覆盖系统组件文件,这确实能保护系统,但代价是大量安装过程会因此失败,用户只能面对错误提示却无从下手解决。 另一个思路是让安装程序写入“假文件”(dummy file),表面看上去覆盖成功,实则并未动到真实组件。 但这种方案同样行不通,因为很多安装程序还会对写入结果做校验,如果发现文件内容或校验值不符,又会弹出错误中止流程。

在这些方案都暴露出明显缺陷后,利用 SYSBCKUP 目录做“事后纠错”的机制,成为当时在可靠性和灵活性之间的最佳平衡点:既允许第三方安装程序正常完成,又在后台自动修补其对系统关键组件造成的潜在破坏,大幅降低了普通用户在日常安装软件时“装着装着就把 Windows 弄坏了”的概率。

查看网友评论   返回完整版观看

返回上一页  首页 | cnbeta报时: 18:14:23

文字版  标准版  电脑端

© 2003-2026