
微软工程师霍华德・卡普斯泰因近期发布文章,详细阐释了 Windows 平台应用软件的卸载运行机制,并指出大众普遍存在认知误区:执行卸载操作无法将软件从系统中完整清除。
对于传统 Win32 桌面应用,Windows 系统并不具备统一管控卸载清理的能力,仅会唤起软件开发商定制的卸载执行程序,文件清理的完整度完全取决于厂商的程序设计。一旦卸载程序未设置全面的清理逻辑,软件运行生成的用户偏好参数、本地缓存文件(存放路径多为 % AppData% 与 % LocalAppData%),以及注册表项下的各类注册条目,都会持续留存于系统之中。
厂商保留这类数据存在合理考量:便于用户重新安装软件后直接沿用原有设置,提升使用体验;但对于永久弃用软件的用户而言,此类残留数据只会占用存储空间,形成系统冗余垃圾。与此同时,多款应用共用的 DLL 文件、系统基础组件也是残留大户。卸载程序出于兼容性考量,为规避删除共享文件引发其他程序运行故障,都会选择保留这类公共组件,最终致使大量无用文件堆积在硬盘。
夜雨聆风