如何检测 Office 365 插件是否已从 VSTO Outlook 插件激活,反之亦然?

How to detect if Office 365 addin is already active from a VSTO Outlook addin or vice-versa?

我不是这个领域的程序员。

我们有一个基于 VSTO 框架构建的插件,适用于所有 Windows Outlook 应用程序。最近,我们构建了 O365 插件,它解决了我们分发到 Mac 的问题。但是,现有的 Windows Outlook 用户会看到两个不同的插件。有没有办法检测 Outlook windows 插件是否已通过 O365 插件安装,反之亦然?

不行,目前没有办法。 Outlook 对象模型没有为此提供任何东西。

遗憾的是,没有检测 COM/VSTO 附加组件安装或从 Office.js API 枚举已安装附加组件的功能。如果您有强大的商业案例,您可以 post 在 https://officespdev.uservoice.com/ 请求。

另一方面,您可以检查是否从 VSTO/COM 附加组件内部安装了特定的 Office.js 附加组件。为了执行此检查,您需要知道 Office.js 附加组件 ID,这应该不是问题,因为这是您公司的产品。您需要在 Associated contents table of the Inbox folder by using IMAPIFolder 界面中枚举消息。在找到带有 class “IPM.Configuration.ClientExtension.00000000000000000000000000000000” 的消息后,其中零必须是您的 Office JS 加载项的 ID。如果找到邮件,则 Office.js 附加组件已安装到用户邮箱中。

你可以做更多,例如