【发布时间】:2011-06-07 19:32:51
【问题描述】:
我的 VSTO Outlook 加载项突然停止在一台客户计算机上运行(它无法加载,没有错误消息),我无法解决问题。机器是 Windows 7 x86,Outlook 2007。插件是用 Visual Studio 2008 编写的,并使用带有 2003 PIA 的 VSTO 2005(因为我们还需要支持 Outlook 2003)。它在其他机器上运行良好。
这是我试图获得有用的故障排除输出的内容:
-
Add the
VSTO_SUPPRESSDISPLAYALERTSenvironment variable (set to0)。 - 使用管理权限启动 Outlook。
- 查看事件日志。
什么都没有。加载项不会在没有给出原因的任何指示的情况下加载。我还检查了“通常的嫌疑人”(CAS 策略、安装的 PIA、注册表中的 LoadBehavior、重新安装 VSTO 和加载项)。
其他一些观察:
-
注册表中的
LoadBehavior保持在3。 - 加载项在 Outlook 中显示为“已禁用”。在“COM 加载项”中选中它的复选框什么都不做(没有错误,第二次输入表单时会再次清除复选框)。
- 它在其他客户机器上运行良好,在这台机器上运行良好。 (不,客户无法告诉我他的机器发生了什么变化。)
- 我的代码顶部有一条
Trace.WriteLine消息(ThisAddIn_Startup处理程序中的第一行),但没有到达(我检查了DebugView)。因此,不加载的原因不是我的加载项异常,而是 VSTO 加载加载项失败或 Outlook 加载 VSTO 失败。
我真的很想强制 Outlook 和/或 VSTO 告诉我出了什么问题,而不是更多的随机调试(“试试这个...”、“试试那个...”) ,即在尝试启用加载项时给我一个有用的错误消息,而不是什么都不做。有任何想法吗?
【问题讨论】:
-
这个问题是关于 Outlook 加载项的 VSTO,但问题是一般的 Office 问题。这个问题及其答案帮助我使用了 Excel 2010 加载项。
-
+1 向我介绍了 VSTO_SUPPRESSDISPLAYALERTS 环境变量
-
@Heinzi - 感谢您提出这个问题,我添加了大多数其他使人们绊倒的解决方案。 Disabled 很容易修复,除非它发生在 citrix...
-
对于将 LoadBehavior 更改为 0 的 Outlook 2007,另请参阅:stackoverflow.com/questions/7691372/…
-
您是否检查了清单文件是否存在于正确的位置?还要检查该插件的注册表项是否存在于 HKLM 和 HKCU 两个分支中。
标签: .net vsto outlook-addin