Windows installer 在基于MSI的安装开始时,是否有一种方法可以得到通知?

Windows installer 在基于MSI的安装开始时,是否有一种方法可以得到通知?,windows-installer,hook,Windows Installer,Hook,我为基于MSI的第三方产品编写插件。不幸的是,由于我们的定制连接到此产品使用的数据库,并且还依赖于此产品的某些服务,因此我们的定制会干扰将核心软件升级到新版本。我们已经研究了解决这个问题的各种选项,最简单的方法似乎是我们是否能够检测到升级安装何时开始。有什么方法可以在基于MSI的安装开始时得到通知吗?您正在创建什么类型的插件?你指的是合并模块吗 通常通过表格检测旧产品。为旧版本定义升级规则,将其保存在安装程序属性中。然后可以使用此属性确定是否找到旧版本 另一种方法是自定义操作,尝试查找与MSI具

我为基于MSI的第三方产品编写插件。不幸的是,由于我们的定制连接到此产品使用的数据库,并且还依赖于此产品的某些服务,因此我们的定制会干扰将核心软件升级到新版本。我们已经研究了解决这个问题的各种选项,最简单的方法似乎是我们是否能够检测到升级安装何时开始。有什么方法可以在基于MSI的安装开始时得到通知吗?

您正在创建什么类型的插件?你指的是合并模块吗

通常通过表格检测旧产品。为旧版本定义升级规则,将其保存在安装程序属性中。然后可以使用此属性确定是否找到旧版本

另一种方法是自定义操作,尝试查找与MSI具有相同升级代码的已安装产品


Windows安装程序不发送通知。它只是提供信息。您可以从安装程序属性或通过自定义操作读取这些信息。

否,而不是合并模块。这个应用程序是我无法控制的。它是第三方商业产品。所谓插件,我指的是利用第三方产品提供的API的Windows服务。在这种情况下,升级必须由软件包开发人员处理。安装的文件无法控制或检测升级。另一种方法是创建一个合并模块,该模块可以按照任何方式处理升级(例如停止服务)。这个合并模块可以被软件包开发人员使用。编辑标签,这听起来像是一个你将用Windows Installer API解决的问题-可能值得编辑这个问题。