频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

深度分析Win 2003自动升级补丁功能

来源:天极网 作者: 出处:巧巧读书 2006-01-14 进入讨论组

  有读者反映使用批处理Windows自动升级文件有问题。有些补丁包安装时出现了错误提示,无法继续。

  经过研究,发现这是由于Windows主要有两类不同的补丁程序,需要使用不同的参数,一旦参数错误,会导致无法安装,所以对不同补丁需要使用不同的参数。我们来具体分析一下。

  从图片看补丁类型

  如图1,把Windows 2003 Server的补丁文件放在同一个目录,
深度分析Win 2003自动升级补丁功能(图一)
  可以清楚地看到补丁文件名字前面的图标有两种类型,一种是简单的可执行文件图标,另外一种是标志压缩文件的可执行文件图标。
深度分析Win 2003自动升级补丁功能(图二)

  从属性分析格式

  WindowsServer2003-KB823559-x86-ENU.exe文件的图标是一个简单的可执行文件图标。从图2中可以看到该补丁的帮助信息,发现它使用微软的update程序来安装补丁。从图3可以查看该补丁的版本信息,它是由SFXCAB.EXE制作而成,所有其他具有普通可执行文件图标的补丁程序都有类似性质。

深度分析Win 2003自动升级补丁功能(图三)

  DirectX9-KB819696-x86-ENU.exe文件的图标是一个标志压缩文件的可执行文件图标,可以查看该补丁的帮助信息。它所认识的参数不包括/U和/Z,如果使用/U 参数来运行就会产生错误。同样,查看该补丁的版本信息,可以看出DirectX9-KB819696-x86-ENU这个补丁是由WEXTRACT.EXE而来的,所有其他的具有标志压缩文件的可执行文件图标的补丁程序也都有类似特征。

  现在很清楚了Windows有两类不同的补丁,使用不同的补丁程序,需要参数也不一样。

  自动分清补丁的格式

  如何在批处理文件中区分这两类不同的补丁呢?最稳妥的办法是找一个小程序检测补丁文件资源信息,如果补丁资源中包括了一个标志压缩文件的可执行文件图标,那么该补丁就是第二类补丁,仅仅使用/Q参数,如果补丁资源中不包括图标,那么就是第一类补丁,可以使用/U /Q /Z参数来安装补丁。

  这里给出一个更简单的方法,仅仅使用Windows的内部命令,不需要额外程序了。查找补丁文件中的特征字符串,如果一个字符串仅仅在某一类补丁程序中存在,就可以根据这个来区分补丁的类型。

  第一步:如图4,用文本编辑器分别打开WindowsServer2003-
  KB823559-x86-ENU.exe 文件和DirectX9-KB819696-x86-ENU.exe文件,可以找到很多特征字符串,如字符串“_SFX_CAB_EXE_PATH”仅仅存在于SFXCAB.EXE类型的补丁中,而字符串“CABINET”和“WEXTRACT”仅仅存在于WEXTRACT.EXE类型的补丁文件中。所以可以用查找字符串的方法来决定补丁文件的类型。

深度分析Win 2003自动升级补丁功能(图四)




  第二步:在“开始→运行”菜单中输入“cmd”,然后进入补丁所在文件夹,运行如下命令,就可以指明该补丁文件需要的参数:

  (@findstr _SFX_CAB_EXE_PATH 补丁文件名字 >nul && @echo 参数 /U /Q /Z) || @echo 参数 /Q

  上面命令的意思是如果查找到字符串_SFX_CAB_EXE_PATH,就说明补丁使用 /U /Q /Z参数 ,否则使用/Q参数。

  第三步:运行结果如图5所示。
深度分析Win 2003自动升级补丁功能(图五)


  一劳永逸的简单方法

  如果先识别判断,再根据结果加参数,然后再运行批处理,未免太麻烦了。这里给出完整的批处理命令,可以把判断和安装补丁合二为一:
  FOR /R %%F IN (*.exe) DO @((@findstr _SFX_CAB_EXE_PATH "%%F" >nul && @start /wait %%F /U /Q /Z ) || @start /wait %%F /Q )
  qchain.exe

  把该批处理文件放在补丁目录,不需要把补丁文件集中到同一个目录中,for命令的/R参数会自动搜索所有子目录。注意:对于2002年12月份后的补丁,基本上不需要使用qchain这个命令,新补丁都内置了这个命令。静态页面:http://www.qqread.com/winnt/t701217106.html 更多文章 更多内容请看补丁与更新专题,或进入讨论组讨论。
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章