PATCH 属性

安装程序通过调用 MsiApplyPatchMsiApplyMultiplePatches 或 /p 命令行选项PATCH 属性设置为所应用的修补程序列表。 还可以在使用 MsiInstallProduct 或 /i 命令行选项安装包时在命令行上设置 PATCH 属性。

PATCH 属性的值是正在安装的修补程序的列表。 列表中的每个修补程序都由修补程序包的完整路径 (.msp file.) 列表中的完整路径用分号分隔。

Windows Installer 2.0:不支持多个修补程序。 需要Windows Installer 3.0 才能应用多个修补程序。

注解

如果使用 Msimsp.exe 和Patchwiz.dll创建修补程序包 则可以指定仅在应用特定修补程序时运行操作或对话框。 创建修补程序包(例如 test.msp)时,可以创作产品的升级映像和修补程序创建属性文件。 创作修补程序创建属性文件时,可以在 ImageFamilies 表的 MediaSrcPropName 字段中输入属性名称,例如 PATCHFORTEST。 创作产品升级映像的序列表时,可以在序列表的“条件”列中包括要进行条件的操作或对话框的条件语句。

例如,仅当应用 test.msp 时,才能使用以下条件语句运行操作或对话框。

PATCH 和 PATCHFORTEST 和 PATCH >< PATCHFORTEST

注意

由于 PATCH 属性可以包含多个修补程序,因此使用子字符串运算符“”><测试特定修补程序是否存在,而不是等于运算符“=”。 有关条件语句的详细信息,请参阅 “条件语句语法 ”部分。

 

如果应用包含 test.msp 的修补程序列表,安装程序将设置这两个属性。 例如,可以使用 /p 命令行选项 应用两个修补程序的列表。

msiexec /qb /p \\scratch\scratch\XYZ\Patchs\test.msp;\\scratch\scratch\XYZ\bar.msp

安装程序按如下所示设置 PATCH 和 PATCHFORTEST 属性。

PATCH=\\\scratch\\scratch\\XYZ\\Patchs\\test.msp;\scratch\\XYZ\\bar.msp PATCHFORTEST=\scratch\\scratch\\XYZ\\Patchs\\test.msp

在这种情况下,条件为 TRUE,上述条件操作或对话框可以针对要安装的每个修补程序、test.msp 和 bar.msp 运行。

如果未应用 test.msp,安装程序不会将其包含在 PATCH 属性中,也不会设置 PATCHFORTEST。 在这种情况下,上述条件为 FALSE,条件操作或对话框不会运行。

要求

要求
版本
Windows Server 2012、Windows 8、Windows Server 2008 R2 或 Windows 7 上的 Windows Installer 5.0。 Windows Server 2008 或 Windows Vista 上的 Windows Installer 4.0 或 Windows Installer 4.5。 Windows Installer on Windows Server 2003 或 Windows XP. 有关Windows安装程序版本所需的最低Windows Service Pack 的信息,请参阅 Windows Installer Run-Time 要求

请参阅

属性

条件语句语法

条件语句语法示例