有没有办法在基于 MSI 的安装开始时收到通知?
我为基于 MSI 的第三方产品编写插件。不幸的是,由于我们的定制连接到该产品使用的数据库,并且还依赖于该产品的某些服务,因此我们的定制会干扰将核心软件升级到较新的版本。我们已经研究了解决此问题的各种选项,最简单的似乎是我们可以检测升级安装何时开始。有没有办法在基于 MSI 的安装开始时收到通知?
I write plugins for a third-party MSI-based product. Unfortunately, because our customizations connect to a database used by this product and also depend on some services of this product, our customizations interfere with upgrading the core software to a newer version. We have looked at the various options for working around this and the easiest would seem to be if we can detect when the upgrade installation starts. Is there a way to be notified when an MSI-based installation is starting?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您正在创建什么类型的插件?您指的是合并模块吗?
通常通过升级检测旧产品桌子。您可以为旧版本定义升级规则,将其保存在安装程序属性中。然后可以使用此属性来确定是否找到了旧版本。
另一种方法是自定义操作,尝试查找与 MSI 具有相同 UpgradeCode 的已安装产品。
Windows Installer 不发送通知。它只是提供信息。您可以从安装程序属性或通过自定义操作读取该信息。
What type of plugins are you creating? Are you referring to merge modules?
Usually old products are detected through Upgrade table. You define an upgrade rule for older versions which saves them in an installer property. This property can then be used to determine if an older version was found.
Another approach is a custom action which tries to find installed products which have the same UpgradeCode as the MSI.
Windows Installer doesn't send notifications. It just provides information. It's up to you to read that information from installer properties or through a custom action.