这个故事是微软的老员工 Raymond Chen 回忆起来的。 Raymond Chen 给我们讲了一个发生在Windows 95年代的趣事。那个时候,Windows 95系统安装时,有很多第三方软件把一堆组件带了进来。他们把这些组件放到系统中,是为了保证软件能正常运行。微软给开发者定了规矩:安装的时候,得先检查系统里有没有同名组件,而且要比较一下版本。要是系统里的版本比较旧或者根本没有,才能替换进去。但是不是所有的开发者都听微软的话。有些软件安装程序特别粗暴,不管系统里有没有新版本,直接就用自己的文件替换掉原有的。这就把原本好端端的新版本给弄成旧版本了,导致依赖新组件的其他软件出问题。于是Chen他们想出了一个办法。他们在系统目录下创建了一个隐藏的目录叫 C:\\Windows\\SYSBCKUP。里面存着一些重要的系统文件备份。安装程序执行完以后,Windows 95会偷偷把系统里的文件和这个目录里的备份对比一遍。要是发现某个文件被替换成旧版本了,系统就偷偷地把它换成备份里的新版本。如果发现安装程序带来了新版本的文件,就更新一下备份。 Chen说这个办法虽然有点老土,但总比其他方案好多了。一开始他们试过直接阻止安装程序覆盖系统文件,但结果是很多软件安装不下去。还有人想过写个假文件糊弄过去,结果又因为校验问题失败了。最后他们决定利用这个隐藏目录来事后纠错。既允许第三方软件正常安装,又能自动修复那些被破坏的文件。 这种做法给用户带来了很大的好处:把“装着装着就把 Windows 弄坏了”的概率降低了很多。