修补程序卸载自定义操作

可以使用自定义操作修补程序卸载选项指定安装程序仅在卸载修补程序时运行自定义操作。

Windows Installer 4.5 及更高版本:可以使用自定义操作修补程序卸载选项指定安装程序仅在卸载修补程序时运行自定义操作。

** Windows Installer 4.0 及更低版本:**

“自定义操作修补程序卸载”选项不可用。 由于安装程序不应用正在卸载的修补程序包,因此没有方法可以在卸载修补程序时在要运行的修补程序包中标记自定义操作

若要在卸载特定修补程序时运行某个自定义操作,该自定义操作必须存在于原始应用程序中,或者位于始终应用的产品修补程序中。

开发人员可以使用 MsiPatchRemovalList 属性创作 Windows Installer 包或修补程序,用于在移除修补程序时执行自定义操作。 可以在原始安装包、已应用于程序包的修补程序或不可卸载的修补程序中创作自定义操作。 可以基于序列表中的 MsiPatchRemovalList 属性为自定义操作设置条件。 有关为操作设置条件的详细信息,请参阅在条件语句中使用属性

自定义操作可以从 MsiPatchRemovalList 属性的值中获取被删除的修补程序的 GUID。 自定义操作可以通过调用 MsiGetPatchInfoExPatch 对象PatchProperty 属性来确定修补程序的安装状态是已应用、过时还是被取代。

如果自定义操作需要修补程序中的特殊元数据,则修补程序应包含一个自定义操作,该操作在应用修补程序时将元数据写入注册表或文件位置。 原始应用程序中的自定义操作或始终应用的修补程序可以获取删除修补程序更改所需的信息。

进行难以正确撤消的更改的修补程序不应标记为可卸载的修补程序

修补程序序列化

移除修补程序

可卸载的修补程序

卸载修补程序

MSIPATCHREMOVE

MsiEnumapplicationsEx

MsiGetPatchInfoEx

MsiRemovePatches