用于 Windows 软件更新程序包的命令行开关 - Windows精简与定制技术 - 系统评测 - 天空竞技场
 11 12
发新话题
打印

[转帖] 用于 Windows 软件更新程序包的命令行开关

用于 Windows 软件更新程序包的命令行开关

用于 Windows 软件更新程序包的命令行开关
察看本文应用于的产品
文章编号 : 262841
最后修改 : 2005年6月3日
修订 : 9.0
本页

概要

简介

更多信息

安装过程概述

Update.exe 程序的命令行开关

Hotfix.exe 程序的命令行开关

参考
概要
有些 Microsoft 软件更新使用 Hotfix.exe 或 Update.exe 作为安装程序。这些安装程序会检查 Windows Service Pack 的版本和操作系统的语言,并在计算机上安装和注册软件更新,然后对文件进行备份以允许删除软件更新。

使用上述安装程序之一的软件更新支持多个命令行开关,管理员可使用这些开关来部署更新。

要确定 2004 年 7 月之后发布的软件更新程序包是使用 Hotfix.exe 还是 Update.exe 作为安装程序,只需该程序包“属性”对话框的“版本”选项卡上的“安装程序引擎”值即可。对于 2004 年 7 月之前发布的程序包,则必须解压缩程序包的内容才能查看它使用的是安装程序。

TOP

简介
Microsoft 使用几种不同的自解压缩文件格式来对软件更新进行打包,这些文件格式能够自动运行程序包中所包含的安装程序。本文描述了可与使用 Hotfix.exe 或 Update.exe 作为安装程序的软件更新程序包一起使用的命令行开关。下文将这些程序包称为“Windows 软件更新程序包”。

有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
824684 (http://support.microsoft.com/kb/824684/) 有关用于描述 Microsoft 软件更新标准术语的介绍
回到顶端

更多信息
要确定软件更新程序包是否使用 Update.exe 作为安装程序以及它所使用的版本,请按照下列步骤操作:1. 右键单击该程序包,然后单击“属性”。
2. 在“版本”选项卡上的“其他版本信息”下,单击“安装程序引擎”。如果使用 Update.exe,它应出现在“值”字段中。
3. 要确定版本,请单击“安装程序版本”。程序包中使用的安装程序的版本出现在“值”字段中。
对于 2004 年 7 月之前发布的程序包,或者“常规”选项卡上的“说明”值显示为“自解压缩 Cabinet”的程序包,请执行下列步骤来确定它们使用的是 Update.exe 还是 Hotfix.exe,以及它们所使用的版本:1. 将软件更新程序包解压缩到一个唯一的临时文件夹中。例如,要将名为 KBArticleNumber.exe 的更新程序包的文件解压缩到驱动器 C 上名为 ExtractedPackage 的文件夹中,请在命令提示符处键入以下命令:
KBArticleNumber /X:C:\ExtractedPackage
2. 打开软件更新程序包的解压缩文件所在的临时文件夹。例如,打开 C:\ExtractedPackage。
3. 在临时文件夹或子文件夹中找到 Update.exe 或 Hotfix.exe 文件。
4. 要判断 Update.exe 或 Hotfix.exe 的版本,右键单击该文件,然后单击“属性”。
5. 单击“版本”选项卡,然后记下“文件版本”行上的值。

注意:如果程序包说明是“Win32 Cabinet 自解压程序”,则软件更新程序包是一个 IExpress 程序包。 有关 IExpress 程序包的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
197147 (http://support.microsoft.com/kb/197147/) IExpress 软件更新程序包的命令行参数

TOP

如果该程序包使用 .msi 或 .msp 文件扩展名,则表明软件更新程序包使用 Windows Installer 作为安装程序。有关 Windows Installer 使用的命令行选项的其他信息,请访问下面的 Microsoft 网站:
http://msdn.microsoft.com/librar ... nd_line_options.asp (http://msdn.microsoft.com/librar ... nd_line_options.asp)
用于 Windows NT 4.0 的软件更新以及 Windows 2000 Service Pack 3 或更低版本中包含的软件更新使用 Hotfix.exe 作为安装程序。

Windows 2000 Service Pack 4 和更高版本以及 Windows XP 和 Windows Server 2003 中包含的软件更新使用 Update.exe 作为安装程序。

注意:用于“适用于”部分中所列 Windows 版本的一些软件更新程序包使用 IExpress 或 Windows Installer 程序包。这些程序包不使用 Hotfix.exe 或 Update.exe 作为安装程序。


安装过程概述
运行 Windows 软件更新程序包时,如果不使用命令行开关,则会自动运行 Hotfix.exe 或 Update.exe 安装程序来安装软件更新。安装程序执行的操作如下:• 安装程序(Hotfix.exe 或 Update.exe)检查当前使用的 Service Pack 版本。如果 Service Pack 版本低于软件更新版本,但是不低于软件更新指定的最低版本,并且语言相同,则安装程序将自动安装软件更新。如果 Service Pack 版本高于软件更新版本,则不会继续安装。
• 如果软件更新语言版本与操作系统语言不匹配,则不会继续安装。
• 如果不存在版本冲突,则 Hotfix.exe 或 Update.exe 将安装该软件更新。
• 安装程序会在下面某个注册表项下注册该软件更新:
HKEY_LOCAL_MACHINE \Software\Microsoft\Updates\<operating system>\<service pack level>\KB<nnnnnn>
HKEY_LOCAL_MACHINE \Software\Microsoft\Windows NT\CurrentVersion\Hotfix\Q<nnnnnn>
HKEY_LOCAL_MACHINE \Software\Microsoft\Windows NT\CurrentVersion\Hotfix\KB<nnnnnn>
• 软件更新的删除信息存储在 %Systemroot% 下名为 $NtUninstallQnnnnnn$ 或 $NtUninstallKBnnnnnn$ 的隐藏文件夹中。

TOP

Update.exe 程序的命令行开关
下表列出了 Update.exe 程序的各个不同版本所支持的命令行开关。

标准开关 开关说明 支持此开关的 Update.exe 版本
/help 显示命令行帮助。 5.3.24.3 版本和更高版本支持 /help 开关。为了与旧版本兼容,可以使用 /? 开关。
/passive 无人值守安装模式。无需用户交互,但会显示安装状态。如果安装完成时需要重新启动计算机,则会出现一个对话框,其中包含一条计时器警告,指出计算机将在 30 秒后重新启动。 5.3.24.3 版本和更高版本支持 /passive 开关。为了与旧版本兼容,可以使用 /u 开关。
/quiet 安静模式 - 与无人值守模式相同,但不显示状态或错误信息。 5.3.24.3 版本和更高版本支持 /quiet 开关。为了与旧版本兼容,可以使用 /q 开关。
/norestart 安装完成后不重新启动计算机。 5.3.24.3 版本和更高版本支持 /norestart 开关。为了与旧版本兼容,可以使用 /z 开关。
/warnrestart 出现一个对话框,其中包含一条计时器警告,指出计算机将在 x 秒后重新启动。(默认为 30 秒)。应与 /quiet 或 /passive 开关一起使用。 6.1.22.0 版本和更高版本支持 /warnrestart 开关。
/forcerestart 安装后重新启动计算机,并强制其他应用程序在关机时立即关闭,而不是先保存打开的文件。 5.3.24.3 版本和更高版本支持 /forcerestart 开关。
/promptrestart 出现一个对话框,提示用户在必要时重新启动计算机。应与 /quiet 一起使用。 6.1.22.0 版本和更高版本支持 /promptrestart 开关。
/forceappsclose 强制其他程序在计算机关机时关闭。 5.4.15.0 版本和更高版本支持 /forceappsclose 开关。为了与旧版本兼容,可以使用 /f 开关。
/nobackup 不为备份卸载文件。 6.1.22.0 版本和更高版本支持 /nobackup 开关。为了与旧版本兼容,可以使用 /n 开关。
/overwriteoem 不经提示即覆盖 OEM 文件。 6.1.22.0 版本和更高版本支持 /overwriteoem 开关。为了与旧版本兼容,可以使用 /o 开关。
/integrate:path 将软件更新整合到位于指定路径的 Windows 安装源文件中。注意,:path 指包含 i386 文件夹的文件夹。 5.4.15.0 版本和更高版本支持 /integrate:path 开关。为了与旧版本兼容,可以使用 /s 开关。
/log:path 允许用户指定日志文件的创建位置。 6.1.22.0 版本和更高版本支持 /log 开关。
/ER 启用扩展错误报告。 所有版本都支持 ER 开关。
/verbose 启用详细日志记录。安装时创建 %Windir%\CabBuild.log,以详细描述要复制的文件。使用此开关可能导致安装速度变慢。 5.3.24.3 版本和更高版本支持 /verbose 开关。为了与旧版本兼容,可以使用 /v 开关。
/d:path 指定 Windows Service Pack 安装的备份目录。:path 指备份文件的目标文件夹。默认备份位置为 %Systemdrive%\$ntservicepackuninstall$。 此开关不能用于 Service Pack 以外的更新,并且只能在 Installer 5.3.16.5 版本和更高版本中使用。
/extract[:path] 解压缩文件,但不启动安装程序。如果不包含“:path”,则会提示您提供要将文件解压缩到的目标文件夹的路径。如果包含“:path”,则将文件解压缩到指定的目标文件夹中。 5.3.24.3 版本和更高版本支持 /extract 开关。为了与旧版本兼容,可以使用 /x 开关。
/hotpatch:disable 禁用热修补功能,只安装冷修补程序。 这只用于支持热修补的 Windows Server 2003 程序包,并且可在 6.1.22.0 版本和更高版本中使用。有关热修补的更多信息,请参见本文的“参考”部分,获取指向“Inside Update.exe”白皮书的链接。

TOP

注意:• 我们采用的是一致的命令行开关集,您可以使用这些开关部署包含软件更新的程序包。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
824687 (http://support.microsoft.com/kb/824687/) Microsoft 软件更新程序包的命令行开关
为了实现向后兼容,实施新的标准开关名称的 Windows 软件更新也支持较低版本的 Update.exe 所使用的安装开关。但是,我们建议您停止使用这些旧开关,因为将来的软件更新可能会取消这种支持。
• 列出的所有开关均使用正斜杠 (/)。为了与旧版本兼容,您也可以使用连字符 (-) 来代替正斜杠 (/)。
• 要安全地删除软件更新,应首先删除最近安装的软件更新。例如,假定修复程序 A 和 B 都替换同一文件或注册表项,并且您先安装的是 A,后安装的是 B。要使系统恢复到安装 A 之前的状态,必须先卸载 B,再卸载 A。 有关如何删除 Update.exe 更新的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
823836 (http://support.microsoft.com/kb/823836/) 以错误顺序删除 Windows 软件更新可能导致操作系统停止工作

TOP

Hotfix.exe 程序的命令行开关
下表列出了 Hotfix.exe 程序所支持的命令行开关。
命令行开关 说明
/f 强制其他程序在关机时退出
/l 列出已安装的软件更新
/m 无人值守模式
/n 不为卸载备份文件
/q 安静模式 - 无需用户交互
/y 执行卸载(必须与 /m 或 /q 一起使用)
/z 安装后不重新启动计算机

有关如何安装和删除使用 Hotfix.exe 的软件更新,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
184305 (http://support.microsoft.com/kb/184305/) 如何使用 Hotfix.exe 安装和删除修复程序
回到顶端

参考
以下白皮书讨论了 Windows 和 Windows 组件的程序包安装程序 Update.exe:
http://www.microsoft.com/technet ... yment/winupdte.mspx (http://www.microsoft.com/technet ... yment/winupdte.mspx)

TOP

IExpress 软件更新程序包的命令行开关

察看本文应用于的产品
文章编号 : 197147
最后修改 : 2005年11月17日
修订 : 8.1
概要
Microsoft 使用多种不同的自解压缩文件格式对软件更新进行打包,这些格式能够自动运行程序包中包含的安装程序。本文介绍了一些命令行开关,可用于使用 IExpress 技术的软件更新程序包。IExpress 技术是 Microsoft 使用的一项技术,用于为某些 Microsoft Internet Explorer 版本、某些 Windows 版本,以及其他多种产品创建软件更新程序包。要确定某个软件更新程序包是否使用了 IExpress,请按以下步骤操作: 1. 右键单击该程序包,然后单击“属性”。
2. 在“常规”选项卡上,查看“描述”。IExpress 软件更新程序包中包含“Win32 Cabinet 自解压程序”,它提供对该更新程序包的描述。
注意:如果程序包的描述为“自解压 Cabinet”,则说明该软件更新程序包是使用 Hotfix.exe 或 Update.exe 作为安装程序的 Windows NT 4.0、Windows 2000、Windows XP 或 Windows Server 2003 程序包。 有关 Hotfix.exe 和 Update.exe 使用的命令行开关的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
262841 (http://support.microsoft.com/kb/262841/) 用于 Windows 软件更新程序包的命令行开关
如果程序包的文件扩展名为 .msi 或 .msp,则表明该软件更新程序包使用 Windows Installer 作为安装程序。有关 Windows Installer 使用的命令行开关的其他信息,请访问下面的 Microsoft 网站:
http://msdn.microsoft.com/librar ... nd_line_options.asp (http://msdn.microsoft.com/librar ... nd_line_options.asp)
有关 Microsoft 用来描述软件更新的标准术语的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
824684 (http://support.microsoft.com/kb/824684/) 有关用于描述 Microsoft 软件更新标准术语的介绍

TOP

更多信息
如果您在运行 IExpress 软件更新程序包时不使用任何命令行开关,默认的安装程序会自动运行以安装软件更新。IExpress 程序包的安装程序可能是安装信息 (.inf) 文件,也可能是可执行程序。

如果 IExpress 程序包使用安装信息 (.inf) 文件作为其安装程序,则可以使用 IExpress 命令行开关控制程序包的安装选项。如果 IExpress 程序包使用可执行程序(例如,.exe 文件或 .com 文件)作为其安装程序,请使用安装程序的开关控制安装选项,而不要使用 IExpress 开关。

注意:您可以使用 /c:path 开关将参数(开关)传递给安装程序,或者为程序包指定不同的安装程序。例如,下面的命令行语法可用于运行 Internet Explorer 安装程序包(IExpress 程序包 Ie6setup.exe)并将参数传递给程序包中包含的安装程序 (Ie6wzd.exe)。

Ie6setup IExpress switches /c:"ie6wzd Internet Explorer Setup switches"

下表列出了 IExpress 程序所支持的命令行开关。 开关 描述
/q 指定安静模式或取消显示提示。
/q:u 指定用户安静模式,该模式向用户显示某些对话框。
/q:a 指定管理员安静模式,该模式不向用户显示任何对话框。
/t:path 指定用于解压缩文件的目标文件夹。
/c 解压缩文件但不进行安装。如果不指定 /t:path,则会提示您输入目标文件夹。
/c:path 指定 .inf 或 .exe 安装文件的 UNC 路径和名称。
/r:n 安装后从不重新启动计算机。
/r:i 除非与 /q:a 配合使用,否则,如果需要重新启动计算机,则提示用户重新启动。
/r:a 总是在安装后重新启动计算机。
/r:s 安装后不提示用户就重新启动计算机。
/n:v 不检查版本 — 在以前的任何版本上安装程序包。
注意:不支持使用 /n:v 开关,使用此开关可能会导致系统无法启动。如果安装不成功,应咨询技术支持人员弄清失败的原因。
回到顶端

参考
有关其他信息,请访问下面的 Microsoft 网站:

Explorer 管理工具包 (IEAK) 主页
http://www.microsoft.com/technet/prodtechnol/ie/ieak/default.mspx (http://www.microsoft.com/technet/prodtechnol/ie/ieak/default.mspx)

TOP

TOP

Windows精简与定制技术精华帖索引
nLite 1.4.1 & vLite 1.1 官方下载地址
http://www.lucky8k.com/thread-39036-1-1.html
nLite vLite DPS是什么?
http://www.lucky8k.com/thread-39038-1-1.html
nLite 的常见问题(译自官方网站)
http://www.lucky8k.com/thread-39037-1-1.html
nLite 精简一步一步详细教程
http://www.lucky8k.com/thread-39050-1-1.html
用于 Windows 软件更新程序包的命令行开关
http://www.lucky8k.com/thread-39049-1-1.html
LaunchINFSectionEx Function - 命令行加载inf的扩展
http://www.lucky8k.com/thread-39048-1-1.html
编写INF进行安装用来做nilte的整合包学习inf安装有好处
http://www.lucky8k.com/thread-39047-1-1.html
轻松学习批处理
http://www.lucky8k.com/thread-39046-1-1.html
简体中文版 Windows XP SP2 中 syssetup.inf 的注释
http://www.lucky8k.com/thread-39045-1-1.html
怎样在nlite的基础上进一步压榨空间
http://www.lucky8k.com/thread-39044-1-1.html
rundll32.exe的用途大全
http://www.lucky8k.com/thread-39043-1-1.html
Ghost XP 封装制作全过程
http://www.lucky8k.com/thread-39042-1-1.html
详细指导你做XP精简版和多启动菜单
http://www.lucky8k.com/thread-39041-1-1.html
nlite精简后的自动后处理脚本
http://www.lucky8k.com/thread-39040-1-1.html
XP安装时分两个阶段
http://www.lucky8k.com/thread-39039-1-1.html

TOP

 11 12
发新话题