【问题标题】:Outlook AddIn not detected未检测到 Outlook 加载项
【发布时间】:2015-10-06 10:52:17
【问题描述】:

我开发了一个outlook AddIn,我测试了它,它第一次出现然后消失了(我以为是因为我将LoadBehavior设置为16,所以我将其更改为3)。 Check this link for more information about LoadBehavior

然后它对我和其他一些人来说效果很好。但对于其他一些人来说,插件之后甚至没有出现在 Outlook 中,就好像它没有安装一样。

1-注册表正确。

2-loadBehavior 为 3,不会变为 2。

3-Outlook 插件未在活动、非活动或禁用插件中列出。

4-在注册表的 Disabled Addins 条目中没有记录。

5-它的唯一工作方式是启动 .VSTO 文件。 .msi 安装不会启用它。

在实际工作的机器上:

outlook版本是2013

操作系统是 Windows 7 x64,

.Net 框架 4.

这是所有机器的相同配置。 我还查看了 Fusion Log Viewer,没有与我的插件相关的内容。就像未检测到插件或不将其视为插件。 任何想法为什么它会以这种方式表现和/或如何解决它?

【问题讨论】:

    标签: c# outlook vsto outlook-addin


    【解决方案1】:

    您是否有机会查看 Outlook 中的 COM 加载项列表。您的加载项是否在其中列出?

    如果是这样,可能有几个原因:

    1. 主机应用程序(在您的情况下为 Outlook)可以禁用您的加载项。 Microsoft Office 应用程序可以禁用行为异常的加载项。如果应用程序未加载您的加载项,则该应用程序可能已硬禁用或软禁用您的加载项。

    当加载项导致应用程序意外关闭时,可能会发生硬禁用。如果您在加载项中的启动事件处理程序正在执行时停止调试器,也可能在您的开发计算机上发生这种情况。

    当加载项产生不会导致应用程序意外关闭的错误时,可能会发生软禁用。例如,如果应用程序在 Startup 事件处理程序执行时抛出未处理的异常,则应用程序可能会软禁用加载项。

    当您重新启用软禁用加载项时,应用程序会立即尝试加载加载项。如果最初导致应用程序软禁用加载项的问题尚未修复,应用程序将再次软禁用加载项。在 MSDN 中的 How to: Re-enable an Add-in That Has Been Disabled 文章中了解更多信息。

    1. 如果您在活动加载项列表中看到您的加载项 - 功能区 UI 中出现错误。请参阅How to: Show Add-in User Interface Errors 了解更多信息。

    最后,如果您没有在列出的 COM 加载项中看到该加载项,则说明您没有在 Windows 注册表中正确注册它。请参阅 MSDN 中的 Deploying an Office Solution by Using Windows Installer 文章,其中描述了部署 Office 加载项所需的所有步骤。

    【讨论】:

    • 谢谢。您的回答对我帮助很大,并为我节省了一天。稍后我会写一个回复,解释出了什么问题以及原因。
    • 当用户在 x64 位操作系统上运行 x64 Office 版本时,我的问题是缺少注册表。我一直在关注this tutorial,并且在任何时候它都没有提到我遇到的问题,也没有提到当目标机器在 x64 位操作系统上运行 office x86 时应该有 Wow6432Node 注册表项。我真的不想躲在这样的借口后面,但 MS 文档应该更一致,更少传播。我必须阅读不同的教程才能找到完整的实用指南。
    【解决方案2】:

    您确定您的 MSI 文件和 DLL 以 Outlook 的正确位数为目标吗?

    您说它适用于 x64 安装,您确定它是为两者编译的吗?

    没有使用太多 VSTO 的东西,但我认为您可能需要对代码进行填充。

    【讨论】:

    • 我知道您没有代表发表评论,但这不应该是一个答案。
    • @RonBeyer 抱歉,我的意思是作为评论提出问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-10
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-12
    • 1970-01-01
    相关资源
    最近更新 更多