msi.h) (MsiRemovePatchesW 函数
MsiRemovePatches 函数从单个产品中删除一个或多个修补程序。 若要从多个产品中删除修补程序,必须为每个产品调用 MsiRemovePatches 。
语法
UINT MsiRemovePatchesW(
[in] LPCWSTR szPatchList,
[in] LPCWSTR szProductCode,
[in] INSTALLTYPE eUninstallType,
[in, optional] LPCWSTR szPropertyList
);
参数
[in] szPatchList
以 null 结尾的字符串,表示要删除的修补程序列表。 每个修补程序都可以由修补程序的 GUID 或修补程序包的完整路径指定。 列表中的修补程序由分号分隔。
[in] szProductCode
一个以 null 结尾的字符串,它是从中删除修补程序的产品的 ProductCode (GUID) 。 此参数不能为 NULL。
[in] eUninstallType
指示要执行的修补程序删除类型的值。 此参数必须 INSTALLTYPE_SINGLE_INSTANCE。
值 | 含义 |
---|---|
|
仅针对 szProduct 指定的产品卸载修补程序。 |
[in, optional] szPropertyList
一个以 null 结尾的字符串,用于指定命令行属性设置。 有关详细信息,请参阅
关于命令行上的属性 和 设置公共属性值。 此参数可以为 NULL。
返回值
MsiRemovePatches 函数返回以下值。
值 | 含义 |
---|---|
|
包含无效参数。 |
|
无法打开修补程序包。 |
|
已成功删除修补程序。 |
|
szProductList 指定的产品未针对 MsiRemovePatches 的调用方按计算机或按用户安装。 |
|
无法打开修补程序包。 |
|
修补程序包无效。 |
|
此版本的 Windows Installer 服务无法处理修补程序包。 |
|
修补程序包不可移动。 |
|
修补程序尚未应用于此产品。 |
|
策略不允许删除修补程序。 |
备注
有关演示应用程序如何从可供用户使用的所有产品中移除补丁的示例,请参阅卸载补丁。
注意
msi.h 标头将 MsiRemovePatches 定义为别名,该别名根据 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 |