Windows95通过扫描可执行文件名是否包含setup、install等六个关键词来识别安装程序,并备份系统文件至SYSBCKUP目录,在安装结束后恢复被降级的文件。此后Windows2000引入文件保护机制,逐步演进为Windows资源保护,现由sfc/scannow命令继承。
今天聊一个很有意思的冷知识:在 Windows 95 时代,微软判断一个程序是否为安装程序的方法,简单到有点离谱——靠猜,而且只看文件名。
具体来说,系统会扫描可执行文件的名字,看它是否包含以下六个关键词中的任意一个:setup、install、inst,以及三个非英语词汇 imposta(意大利语)、ayarla(土耳其语)和 felrak(匈牙利语),分别对应“安装”相关的含义。
长期稳定更新的攒劲资源: >>>点此立即查看<<<
有意思的是,在这个列表里,install 其实是冗余的。因为任何包含 install 的文件名,自然也会包含 inst。后来有推测认为,inst 是后来才加上的,目的是为了匹配像 blahinst 这种命名方式的安装程序,但当时没人顺手把多余的 install 删掉。

如果文件名一个都没对上,Windows 95 还有后手:它会退而求其次,检查可执行文件的完整路径里是否包含“Setup”这个词。
这套字符串匹配机制的背后,其实是一个系统文件恢复流程在撑着。当时的问题在于,很多安装程序根本不管版本号,上来就覆盖系统文件,完全无视微软那条“只能用更新版本替换旧版本”的铁律。
举个例子:一个捆绑了 Windows 3.1 版本共享 DLL 的安装程序,完全可能把 Windows 95 的新版文件直接覆盖掉。结果就是,依赖这些文件的程序一夜之间全部崩溃。
Windows 95 的应对方案是,在隐藏目录 C:\Windows\SYSBCKUP 里备份那些经常被覆盖的系统文件。等安装程序跑完,系统再回头检查一遍,把被降级的文件恢复回正确的版本。但这套安全网能正常工作,前提是——系统得猜对“安装程序是否运行过”。
到了 Windows 2000,微软放弃了这种靠猜的机制,引入了 Windows 文件保护(WFP)。它通过 Winlogon 注册文件变更通知,从 %WinDir%\System32\dllcache 缓存中恢复受保护文件。不再依赖文件名猜测,也不必等到安装程序结束才行动。
Windows ME 也推出了类似的系统文件保护。Vista 之后,这个体系又升级为 Windows 资源保护(WRP),改用访问控制列表(ACL)来保护文件。
如今,Windows 11 用户还在运行的 sfc /scannow 命令,正是这一体系的直系后代。它取代了 1995 年那个靠扫描文件名里有没有“setup”来决定是否行动的原始机制。

侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述