我的VSTO Outlook加载项突然在一台客户机器上停止工作(它没有加载,没有错误消息),我一直在进行故障排除.机器是Windows 7 x86,Outlook 2007.外接程序使用Visual Studio 2008编写,并使用VSTO 2005和2003 PIA(因为我们还需要支持Outlook 2003).它在其他机器上工作得非常好.
以下是我试图获得的有用的故障排除输出:
- Add the
VSTO_SUPPRESSDISPLAYALERTS
environment variable (set to0
) - 使用管理权限启动Outlook.
- 查看事件日志(log).
没什么.如果不给出any个原因说明,插件就不会加载.我还判断了"常见的疑点"(CAS策略、安装的PIA、注册表中的LoadBehavior、重新安装VSTO和外接程序).
其他一些观察结果:
- 注册表中的
LoadBehavior
保持在3
. - 外接程序在Outlook中显示为"已禁用".在"COM加载项"中选中其复选框不会产生任何效果(没有错误,第二次输入表单时再次清除复选框).
- 它在其他客户机器上运行得非常好,在这台机器上也运行得非常好.(不能,客户不能告诉我他的机器上发生了什么变化.)
- 我的代码最顶端有一条
Trace.WriteLine
消息(ThisAddIn_Startup
处理程序的第一行),它没有到达(我判断了DebugView).因此,不加载的原因不是我的外接程序中的异常,而是VSTO无法加载外接程序或Outlook无法加载VSTO.
而不是更多的随机调试("试试这个……","试试……",我真的想要force Outlook and/or VSTO to tell me what's wrong,也就是说,在try 启用外接程序时,给我一条有用的错误消息,而不是doing nothing.有什么 idea 吗?