MsiRemovePatchesA 函数 (msi.h)
MsiRemovePatches 函数从单个产品中删除一个或多个修补程序。 若要从多个产品中删除修补程序,必须为每个产品调用 MsiRemovePatches。
语法
UINT MsiRemovePatchesA(
[in] LPCSTR szPatchList,
[in] LPCSTR szProductCode,
[in] INSTALLTYPE eUninstallType,
[in, optional] LPCSTR 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 Run-Time 要求。 |
目标平台 | 窗户 |
标头 | msi.h |
库 | Msi.lib |
DLL | Msi.dll |
另请参阅
关于属性 的
Windows Installer 2.0 及更早版本中不支持
命令行 设置公共属性值