msiApplyMultiplePatchesA 函数 (msi.h)
MsiApplyMultiplePatches 函数将一个或多个修补程序应用于有资格接收修补程序的产品。 MsiApplyMultiplePatches 函数使用以分号分隔的修补程序列表设置 PATCH 属性,并调用目标产品的修补。 可以使用属性列表设置其他属性。
语法
UINT MsiApplyMultiplePatchesA(
[in] LPCSTR szPatchPackages,
[in, optional] LPCSTR szProductCode,
[in, optional] LPCSTR 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 指针。 空字符串是无效参数。 这些属性由所有目标产品共享。 有关详细信息,请参阅
关于命令行上的属性和设置公共属性值。
返回值
MsiApplyMultiplePatches 函数返回以下值。
Value | 含义 |
---|---|
|
传入的某些参数不正确或相互矛盾。 |
|
函数已完成,所有产品均已成功修补。 仅当符合修补程序条件的所有产品都成功修补时,才会返回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 Run-Time要求。 |
目标平台 | Windows |
标头 | msi.h |
Library | Msi.lib |
DLL | Msi.dll |