C#VSTO Outlook 2007:HKLM和HKCU之间的差异很大

时间:2011-01-27 16:59:36

标签: c# deployment vsto add-in

我开发了VSTO Outlook 2007 Addin。

当我将.dll注册到GAC并在

中创建注册表项时

HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\Addins\<myAddin> LoadBehavior 3等, 一切都很好,插件工作非常完美。

但是当我想与All Users共享我的Addin时,我在这里创建了注册表项: HKEY_LOCAL_MACHINE\Software\Microsoft\Office\Outlook\Addins\<myAddin> (不在HKCU) 并运行Outlook 2007,插件未加载,LoadBehavior设置为3到0.(按Outlook)

我尝试将HKLM和HKCU键设置为相同的值,但它不起作用。只有在没有设置HKLM密钥并且插件只在HKCU注册时,插件才能工作。

问题出在哪里? :-) Thx。

2 个答案:

答案 0 :(得分:2)

Office 2007不支持HKLM按设计注册加载项。为了使Office 2007支持HKLM,您需要应用以下补丁:

http://support.microsoft.com/kb/976811/en-us

答案 1 :(得分:1)

要为所有用户部署Office 2007 的VSTO插件,您有两种选择:

  1. 让用户安装the patch code4life写的,和
  2. 使用Office's internal HKLM->HKU replication mechanism
  3. 注意事项:

    1. 你可能不会重新发布补丁,我怀疑你是否可以将它包含在你的引导程序中;
    2. AFAIK复制机制未得到官方支持。