主题:windows操作系统下,为什么要产生大量垃圾? -- 杜撰
首先,你看到的一些在application data或者安装目录下的dat/ini文件,可能是用户在使用软件中的一些设置或者个人习惯。在卸载时不删除这些文件,一般是为了下次安装(例如说升级或者坏了重装)之后,能直接使用这些设置,方便用户。
其次,在system/system32下的dll,一般是供系统使用或者其他程序调用的,也是不可以随便删的。例如说,如果我有个软件A,依赖于一个aa.dll,那么我会在安装我这个软件的时候,检查系统有没有这个版本的aa.dll,如果没有的话,那么复制一个过去。如果也有一个软件B,也同时依赖这个aa.dll。那么如果我在卸载A的时候,删除了这个aa.dll,那么之后软件B就不能够正常运行了。而且,我在卸载软件A的时候,无法预知有没有另外的一个软件B/C/D...也是依赖这个aa.dll的,所以,这么删,是很危险的。
再次,关于注册表的垃圾,来源基本上就是我说的这两种:配置信息,和一些公共控件(ocx或者com之类)的注册信息。卸载时不删除它们的原因大致上也和上面说的差不多。
最后,说一下关于系统垃圾的问题。其实这个问题是很多现代操作系统所很难避免的,原因无非是现在的软件功能越来越多,配置越来越复杂,程序之间的依赖和耦合也越来越多。所以,卸载的时候,一不小心,就容易造成大面积的破坏。当然,这些在专业人士看来,往往就是一个两个小地方没弄好,但是在普通用户看起来,就是非常严重的问题,甚至会影响他们对这个软件的评价。所以,很多软件在设计时抱着安全第一,稳定第一的方针,保守处理,也是无可厚非的。
而且,对于Windows来说,由于系统的封闭性,有些时候,即使发现了这些垃圾,但是因为信息没有完全公开或者其他原因,也不敢随便乱动。例如说注册表里的绝大多数项,我相信即使是专门做Windows应用程序开发的很多程序员,也不敢说自己知道那些项是干什么的,怎么手工修改删除的。而对于Linux/Unix来说,因为系统的开放性,所以,一但发现类似的情况,可以比较方便的判定某些文件或者信息是不是真正的垃圾信息,然后加以删除或者进行其他操作。不过有一点是肯定的:要让应用程序本身自动的完成这个步骤,基本上是不可能的。
- 相关回复 上下关系7
压缩 3 层
🙂是洁癖 liupang 字20 2009-01-02 00:19:39
🙂乱弹123 3 素里太守 字881 2008-12-23 14:31:04
🙂要明白uninstall 是干啥的 1 浩瀚星辰 字108 2008-12-23 07:45:57
🙂这个问题要分开来看
🙂在当初.net framwework 罗博 字89 2009-01-02 07:33:10
🙂这不能完全解决问题 yhz 字61 2009-01-03 16:43:30
🙂非常专业,花! 季侯 字0 2008-12-28 17:57:11