MsiApplyMultiplePatchesW 函数 (msi.h)

MsiApplyMultiplePatches 函数将一个或多个修补程序应用于有资格接收修补程序的产品。 MsiApplyMultiplePatches 函数使用以分号分隔的修补程序列表设置 PATCH 属性,并调用目标产品的修补。 可以使用属性列表设置其他属性。

语法

UINT MsiApplyMultiplePatchesW(
  [in]           LPCWSTR szPatchPackages,
  [in, optional] LPCWSTR szProductCode,
  [in, optional] LPCWSTR szPropertiesList
);

参数

[in] szPatchPackages

以分号分隔的路径列表,用于将文件修补为单个字符串。 例如:“”c:\sus\download\cache\Office\sp1.msp;c:\sus\download\cache\Office\QFE1.msp;c:\sus\download\cache\Office\QFEn.msp“ ”

[in, optional] szProductCode

此参数是要修补的产品的 ProductCode GUID。 调用 MsiApplyMultiplePatches 的用户或应用程序必须具有应用修补程序的权限。 当此参数 NULL时,修补程序将应用于所有符合条件的产品。 如果此参数为非NULL,则修补程序仅应用于指定产品。

[in, optional] szPropertiesList

一个以 null 结尾的字符串,指定在修补产品期间使用的命令行属性设置。 如果没有命令行属性设置,请传入 NULL 指针。 空字符串是无效参数。 这些属性由所有目标产品共享。 有关详细信息,请参阅
关于属性在命令行设置公共属性值。

注释 属性列表不应包含 PATCH 属性。 如果在命令行中设置了 PATCH 属性,则会忽略该值,并被应用修补程序覆盖。
 

返回值

MsiApplyMultiplePatches 函数返回以下值。

价值 意义
ERROR_INVALID_PARAMETER
传入的某些参数不正确或相互矛盾。
ERROR_SUCCESS
函数已完成,所有产品都已成功修补。 仅当符合修补程序的所有产品都成功修补时,才会返回 ERROR_SUCCESS。 如果没有任何新修补程序适用,MsiApplyMultiplePatches 返回 ERROR_SUCCESS,产品状态保持不变。
ERROR_SUCCESS_REBOOT_INITIATED
最后一个事务启动的重启终止了对 MsiApplyMultiplePatches的调用。 所有目标产品可能尚未修补。
ERROR_SUCCESS_REBOOT_REQUIRED
最后一个事务所需的重启终止了对 MsiApplyMultiplePatches的调用。 所有目标产品可能尚未修补。
ERROR_PATCH_PACKAGE_OPEN_FAILED
无法打开其中一个修补程序包。
ERROR_PATCH_PACKAGE_INVALID
其中一个修补程序包提供不是有效的修补程序包。
ERROR_PATCH_PACKAGE_UNSUPPORTED
不支持其中一个修补程序包。
Winerror.h 中的任何错误
表示可能的部分完成或一个或多个事务失败。

言论

注意

msi.h 标头将 MsiApplyMultiplePatches 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
最低支持的客户端 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 版本所需的最低 Windows Service Pack 的信息,请参阅 Windows Installer Run-Time 要求。
目标平台 窗户
标头 msi.h
Msi.lib
DLL Msi.dll

另请参阅

关于属性 的

Multiple-Package 安装

Windows Installer 2.0 及更早版本中不支持

PATCH

ProductCode

命令行 设置公共属性值