注意: Microsoft 知识库文章经常更新。要确保拥有最新和最精确的信息,您应该查看文档的联机版本 Q296861 - Use QChain.exe to Install Multiple Hotfixes with Only One Reboot


使用 QChain.exe 只重新启动一次来安装多个修补程序

Microsoft 将于 2001 年 10 月 25 日 提供 Microsoft Windows XP 的正式产品支持。到那时,您可以通过使用我们的联机新闻组和那些与您有相同兴趣的人以及 Microsoft MVP 来探讨问题。Microsoft 新闻组的访问权限可以从下面 Microsoft 网站获得:
http://communities.microsoft.com/newsgroups/default.asp?icp=GSS&slcid=us

本文章的信息适用于:
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Datacenter Server
  • Microsoft Windows NT Server version 4.0
  • Microsoft Windows NT Server version 4.0, Terminal Server Edition
  • Microsoft Windows NT Server, Enterprise Edition version 4.0
  • Microsoft Windows NT Workstation version 4.0


总结

Microsoft 已经发布过一个名为 QChain.exe 的命令行工具,为系统管理员提供了将修补程序安全地联接在一起的功能。修补程序链包括安装多个修补程序而无须在两次安装之间重新启动计算机。如果没有该工具,唯一的受支持的方法就是在每次修补程序安装之后重新启动计算机。QChain.exe 工具具有以下优点:

  • 由于在两次安装修补程序之间无须重新启动计算机,它增加了服务器的正常运行时间。

  • 它允许在单独的计算机上更快的安装多个修补程序。

  • 它是一个能同时工作在 Windows 2000 和 Windows NT 4.0 的一个解决方案。


更多信息

不通过 QChain.exe 联接修补安装程序不太安全

当您安装修补程序时,如果一个文件被锁定或者正在被使用,它就不能被代替,该文件就被放置在“未决文件重命名”队列中等到重新启动计算机后进行代替。在下面的情况中可能出现问题:
  • 您在安装修补程序 A 和修补程序 B 之间没有重新启动计算机。

  • 两个程序包中都包含文件 X。程序包 A 的文件 X 的版本是 3;而程序包 B 的文件 X 的版本是 2。计算机上该文件的版本是 1。

  • 程序包 A 安装后,它将版本 3 的文件 X 的放置在“未决文件重命名”队列中。

  • 程序包 B 安装后,它将版本 2 的文件 X 的放置在“未决文件重命名”队列中。

  • 当计算机重新启动时,由于程序包 B 是最后安装的,版本 2 的文件 X 被安装(在未决文件重命名队列中,最后的文件最先被使用)。最后将不是按您预料的以版本 2 代替了版本 3。

如果原先的联接修补程序没有经过重新启动而得到了安装

虽然这种情况极少出现,但它确实是一个验证您的计算机是否安装了您认为所有修补程序的理想的方法。要验证这一点,请使用 Qfecheck.exe 工具。要获得关于 Qfecheck.exe 的其他信息,请单击在 Microsoft 知识库中下面文章编号:
Q282784 Qfecheck.exe Verifies the Installation of Windows 2000 Hotfixes
QChain.exe 清除在注册表中的“未决文件重命名操作”项以保证只有最新版本的文件在计算机重新启动后得到安装。

仅通过一次重新启动来完成安装多个修补程序

  1. 使用 -z 开关来运行修补程序安装程序以指示修补程序不要在安装后进行重新启动。如果您在安装过程中不希望看到提示或消息,请在 -z 之外,添加 -m 开关(对于安静模式)。

    对于 Windows XP:如果在安装过程中,您不希望看到提示或消息,请以 /Q 开关替换 m

    修补安装程序是以下两种情况之一:

    • 自解压程序包程序文件(例如,Qnnnnnn_w2k_spx_x86_en.exe)



    • Hotfix.exe(如果您已经从程序包中解压了所有的文件)

  2. 当所有的修补程序安装完成后,请运行 QChain.exe。

  3. 重新启动计算机。

您也可以通过创建一个批处理文件来完成这个过程。下面的示例批处理文件展示了该方法:
@echo off
setlocal
set PATHTOFIXES=some path

%PATHTOFIXES%\Q123456_w2k_sp2_x86.exe -z -m
%PATHTOFIXES%\Q123321_w2k_sp2_x86.exe -z -m
%PATHTOFIXES%\Q123789_w2k_sp2_x86.exe -z -m
%PATHTOFIXES%\qchain.exe

如果获得 QChain.exe

下列文件可以从 Microsoft 下载中心下载:
立即下载 q296861_x86_en.exe
关于如果下载 Microsoft 支持文件的其他信息,请单击下面的文章编号以查看 Microsoft 知识库中的文章。
Q119591 How to Obtain Microsoft Support Files from Online Services
在发表文件的当天,Microsoft 使用最新的病毒检查软件对该文件进行病毒扫描。一旦发表,该文件就会保存在安全服务器上以防止对该文件进行的任何非授权的更改。

QChain.exe 命令语法

qchain [logfilename]
可选的 [logfilename] 参数创建一个包括“未决修补程序重命名操作”项前后的快照的文件。

示例 QChain.exe 输出结果

---- 注册表中的旧信息 ------
Source:C:\WINNT\inf\acpi.inf
Version: 5.0.2183.1
Destination:d:\ntsust\testregchech\1394.inf
Version: 5.0.2183.1

Source:C:\WINNT\inf\adm_mult.inf
Version: 5.0.2184.1
Destination:d:\ntsust\testregchech\1394.inf
Version: 5.0.2183.1

Source:C:\WINNT\inf\banshee.inf
Version: 5.0.2080.1
Destination:d:\ntsust\testregchech\1394.inf
Version: 5.0.2183.1

---- 注册表中的新信息 ------
Source:C:\WINNT\inf\adm_mult.inf
Version: 5.0.2184.1
Destination:d:\ntsust\testregchech\1394.inf
Version: 5.0.2183.1

EOF