标签: outlook-2007-addin

Outlook 2007加载项异常处理

我有一个我最近继承的Outlook 2007加载项,目前在生产中存在一些问题,其中一些用户定期禁用加载项并且看似随机.加载项中没有日志,每个方法/事件调用都有try/catch(和eat)块到加载项代码中.我做了一些谷歌搜索,发现如果有未处理的异常抛出到Outlook,Outlook会对加载项进行"软禁用".

从我可以看出,没有任何异常从加载项中抛出.我想要做的是1)在插件中创建某种全局异常处理程序,以100%确保捕获所有异常.或者2)以某种方式监听outlook"禁用"注册表中的加载项并让该监听器删除outlook正在设置的reg键.

我试图通过以下方式做#1:

AppDomain.CurrentDomain.UnhandledException += AppDomain_UnhandledException;
System.Windows.Forms.Application.ThreadException += Application_ThreadException;
Run Code Online (Sandbox Code Playgroud)

但都没有成功.

我意识到System.Windows.Forms.Application.ThreadException不一定适用于Outlook加载项,但我想为什么不尝试它.

此外,我已经读过Outlook为加载项启动一个单独的AppDomain,所以我希望AppDomain.CurrentDomain可以为此工作.我写了一些代码,故意抛出异常进行测试,无法进入其中任何一个事件,Outlook继续禁用外接程序.

任何帮助/见解将不胜感激.

outlook-2007-addin outlook-addin

9
推荐指数
1
解决办法
1216
查看次数

Outlook 2007加载项,LoadBehavior更改为0

我正在为Outlook 2007(VSTO 4.0,.Net 4.0)开发一个加载项.每当我使用msi在目标计算机上安装时,所有注册表设置都已正确设置,我可以看到已安装的加载项下列出的加载项.但是,它列在不活动状态,每当我去管理com加载项并选中该框以启用它时,它都不会保持检查状态.

我检查了注册表设置,并且加载行为已从3更改为0,因此我关闭outlook,将其更改回3并再次启动Outlook.它再一次从3变为0.

  • 我正在为所有用户安装加载项,因此注册表位于HKEY_LOCAL_MACHINE下
  • 我有Office 2007的修补程序,可以为HKEY_LOCAL_MACHINE下的所有用户安装
  • 加载项未列在"已禁用的项目"下
  • 加载行为从3切换到0(而不是2),因此没有关于运行时错误的消息
  • 我已经开启了融合日志记录,但也没有出现任何错误
  • 我已经将日志语句放在启动事件中,但它们没有被调用,这使我认为加载项甚至没有被调用,因此它可能是一个配置问题.

我已经阅读了这篇文章:将VSTO加载项部署到所有用户(Saurabh Bhatia)和现在多次引用的msdn文档,无法弄清楚我哪里出错了.

任何帮助调试此问题的任何帮助,甚至更好,解决此问题,将不胜感激.

outlook-2007-addin

6
推荐指数
1
解决办法
5390
查看次数

标签 统计

outlook-2007-addin ×2

outlook-addin ×1