MsiApplyMultiplePatchesA 函数 (msi.h)
MsiApplyMultiplePatches 函数将一个或多个修补程序应用于有资格接收修补程序的产品。 MsiApplyMultiplePatches 函数使用以分号分隔的修补程序列表设置 PATCH 属性,并调用目标产品的修补。 可以使用属性列表设置其他属性。
语法
UINT MsiApplyMultiplePatchesA(
[in] LPCSTR szPatchPackages,
[in, optional] LPCSTR szProductCode,
[in, optional] LPCSTR szPropertiesList
);
parameters
[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 指针。 空字符串是无效参数。 这些属性由所有目标产品共享。 有关详细信息,请参阅
关于“属性” 和 “在命令行上设置公共属性值”。
返回值
MsiApplyMultiplePatches 函数返回以下值。
值 | 含义 |
---|---|
|
传入的某些参数不正确或相互矛盾。 |
|
函数已完成,所有产品都已成功修补。 仅当所有符合修补程序的产品都已成功修补时,才会返回ERROR_SUCCESS。 如果新修补程序均不适用, MsiApplyMultiplePatches 将返回 ERROR_SUCCESS 并且产品状态保持不变。 |
|
最后一个事务发起的重启终止了对 MsiApplyMultiplePatches 的此调用。 可能尚未修补所有目标产品。 |
|
最后一个事务所需的重启终止了对 MsiApplyMultiplePatches 的此调用。 可能尚未修补所有目标产品。 |
|
无法打开提供的修补程序包之一。 |
|
提供的修补程序包之一无效。 |
|
其中一个修补程序包不受支持。 |
|
表示可能的部分完成或一个或多个事务失败。 |
注解
注意
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 运行时要求。 |
目标平台 | Windows |
标头 | msi.h |
Library | Msi.lib |
DLL | Msi.dll |