网站首页|文章频道|下载中心|图片频道|留言频道|游戏频道|电影下载|本站论坛
   位置: 三月鸟社 >> 文章频道 >> 电脑技术 >> 操作系统 >> 正文
欢迎您 三月鸟
您的身份:管理员
可用金钱:0
转到用户后台
上传文章】【上传软件
消费记录】【我的收藏
修改资料】【短消息 0
后台管理】【注销登陆
最新调查
    从何渠道知道本站
搜索引擎
朋友介绍
MPC DIY
误打误撞

  

频道统计
冗余 Windows Installer 文件的清理
冗余 Windows Installer 文件的清理
 更新时间:2006-11-3 10:26:56  点击数:201
【字体: 字体颜色
冗余 Windows Installer 文件的清理
对于使用 Windows Installer 技术制作的安装程序,我一向不是那么的喜好,即使 Windows Installer 技术有着非常优秀的功能、稳定的性能以及其他值得骄傲的特性。

究其原因,是因为使用 Windows Installer 技术制作的安装程序会在 %systemroot%\Installer 目录里面添加一个备份的安装文件用于今后的配置、补丁安装等操作。不可否认的是,在系统里面存放一个安装程序的备份,是一件非常理想的事情,尤其是对于那些经常丢失安装程序的用户来说。对于这一点,我倒是非常的赞赏。但是,有一个功能我的确难以理解:当用户运行一个补丁程序的时候,Windows Installer 将msp文件释放到 %systemroot%\Installer 目录以后,开始引导用户进行补丁的安装。如果用户在引导的时候点击了取消操作或补丁安装必备条件不足而导致安装失败的时候,Windows Installer 将退出安装流程,但是会把释放到 %systemroot%\Installer 目录里面的msp文件保留下来。如果用户再次运行同一个补丁程序,Windows Installer 又会在 %systemroot%\Installer 目录里面生成一个新的msp文件(文件名和上一次的不同),而不会利用上一次释放产生的msp文件。这样一来,第一次产生的msp文件将会永久的存留在磁盘上,成为彻底的无用文件。

为了解决这个问题,我决定找回被Windows Installer无用文件占用的磁盘空间。对 Windows Installer 补丁技术研究以后发现,如果补丁安装成功,会在注册表里面记录一个信息,当新的增量补丁程序需要旧的补丁程序的时候,会在注册表里面寻找旧的信息,并找到旧的msp文件,然后就是补丁文件的整合以及修补过程。具体的步骤比较复杂,这里不予多说。我们需要的是将 %systemroot%\Installer 目录里面无用的文件挑选出来,其他的流程和本次主题无关。

冗余MSP文件清除原理:
1、MSP安装完成以后,会在注册表 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Patches 下面生成一个键。键名是一个32字节的GUID值,生成的键下会有一个键值,名称固定为 LocalPackage 用于指向本地的 MSP 文件的路径。
2、记录下每一个键下的 LocalPackage 指向的文件的文件路径。
3、然后打开 %systemroot%\Installer 目录,将这个目录根目录下的所有 MSP 文件挑出,除去在第2步中存在的文件名,剩下的MSP文件就是冗余的文件。

*注: S-1-5-18指 Local System 用户,大多数补丁都是以 S-1-5-18 安装的。
  • 上一篇: XP网络连接中问题的小概括与解决方法
  • 下一篇: 注册表排错小结及注册表问题精选
  • 发表评论   告诉好友   打印此文  收藏此页  关闭窗口  返回顶部
    热点文章
     
    推荐文章
     
    相关文章
    网友评论:(只显示最新5条。)
    | 关于本站 | 设为首页 | 加入收藏 | 站长邮箱 | 友情链接 | 与我同在 | 版权申明 | 联系我们 |
    Copyright© 2004-2007 MKV.CN .All Rights Reserved
    京ICP备05006540号