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。 创作产品升级映像的序列表时,可以在序列表的条件列中包括要进行条件的作或对话框的条件语句。

例如,仅当应用 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\\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 Server 2003 或 Windows XP 上的 Windows Installer。 有关 Windows Installer 版本所需的最低 Windows Service Pack 的信息,请参阅 Windows Installer Run-Time 要求

另请参阅

属性

条件语句语法

条件语句语法的示例