PATCH 属性

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

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

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

备注

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

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

PATCH AND PATCHFORTEST AND PATCH >< PATCHFORTEST

注意

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

 

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

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

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

PATCH=\\\\scratch\\scratch\\XYZ\\Patches\\test.msp;\\\\scratch\\scratch\\XYZ\\bar.msp PATCHFORTEST=\\\\scratch\\scratch\\XYZ\\Patches\\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 Server 2003 或 Windows XP 上的 Windows Installer。 若要了解 Windows Installer 版本所需的最低 Windows Service Pack,请参阅 Windows Installer 运行时要求

请参阅

属性

条件语句语法

条件语句语法示例