C:/WINDOWS/Installer文件夹清理

冗余 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 安装的。

 


自动化清理方案:


如果系统里面安装了很多使用 Windows Installer 技术制作安装程序的软件以及相应的补丁以后,HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Installer/UserData/S-1-5-18/Patches 下面会产生相当多的子键,手工清理是不现实的,自动清理才是必要的途径,工具 WICleanup.EXE 应运而生。

WICleanup.EXE:针对上述问题提供自动化解决方案,运行以后会自动完成上述的所有操作。

下载地址:http://www.kztechs.com/wicleanup/wicleanup.zip

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值