2015-07-21 35 views
1

我正在开发一个AddIn for Outlook。 Outlook 2013停用AddIns,如果它们需要很长时间才能启动。 当我在C#中编写我的AddIn时,它需要加载.Net环境,这需要时间。 AddIn的实际启动非常快。防止Outlook 2013加载失效

根据硬件,我可能会超过AddIn取消激活的Outlook的1秒限制。

您可以通过HKEY_CURRENT_USER中的注册表项阻止AddIn停用。

我的问题是找到正确的时刻来写这个注册表项。

  • 在AddIn的开始不起作用,因为它可能永远不会到目前为止。
  • 在安装时,我只能为那些已经登录到特定电脑的用户设置条目。
  • 由于我也在同一台PC上的本地机器下运行服务,我可以定期更新任何新用户的注册表。但是,当用户第一次使用该电脑时,我仍然会遇到问题。
  • 将条目写入本地计算机注册表并没有缝隙工作,至少在我的测试中,缺少的键没有被复制,而是创建了一个新的键。

关于如何防止Outlook禁用AddIn 或何时写入注册表项?

回答

0

对于如何防止Outlook禁用AddIn或何时写入注册表项有什么建议吗?

我建议您在加载项的启动时间上工作。将任何初始化代码移动到另一个线程,并让主线程自由运行,让Outlook无延迟地运行。在这种情况下,您不必添加Windows注册表项。

+0

我的代码的启动时间大约是10ms,加载.Net环境在坏的硬件上花费的时间过长 – lolsharp

+0

您可以自由使用非托管语言来开发Office加载项。 –