为VSTO Outlook加载项创建(ClickOnce)设置

War*_*uck 5 registry clickonce vsto add-in ms-office

所以我创建了一个Outlook加载项,并使用click-once设置来部署它.

当用户是管理员时,设置运行正常,否则:不行.

使用"run as ..."运行安装程序并以admin身份登录,但是在admin下安装了加载项,而不是当前用户.插件没有出现在外观中.

我尝试按照本指南操作:http: //blogs.msdn.com/mshneer/archive/2008/04/24/deploying-your-vsto-add-in-to-all-users-part-iii.aspx

但是我被困在第一部分:http: //blogs.msdn.com/mshneer/archive/2007/09/04/deploying-your-vsto-add-in-to-all-users-part-i.aspx

我按照例子说明并按照描述启动excel:

现在启动Excel应用程序.检查HKCU配置单元中的注册表项,例如,您将在HKCU配置单元下找到两个有趣的注册表项:

  • 包含注册表值TestValue的HKCU\Software\Microsoft\Office\TestKey注册表项
  • 您现在还具有HKCU\Software\Microsoft\Office\12.0\User Settings\TestPropagation注册表项,其Count值设置为1

但是在我的机器上,没有创建密钥......我接下来可以尝试什么?

Ori*_*rds 0

我已经好几年没有这样做了,但根据记忆,office 插件是这样“注册”的:

  1. 将文件放在正确的位置
  2. 注册代表您的外接程序的.NET COM对象
  3. 将注册表项放在下面Microsoft\Office\Addins,以告诉 Office 加载您的 COM 对象。

如果我的想法是正确的,问题将是你需要注册COM对象。注册 COM 对象是每台计算机的操作,因此需要管理员权限。

您将能够看到这是否确实发生了。您的 Office Addins One 下的注册表项将被称为类似MyAddin.Connect. 然后,您可以在下面搜索HKEY_CLASSES_ROOTMyAddin.Connect当您以管理员身份运行安装时,它应该存在,而当以每个用户身份运行时,它应该不存在。

如果是这样,您可以通过按用户注册 COM 对象来解决这个问题,但这有点痛苦。

现在事情可能更容易了,但是当我必须这样做时,您使用了一个名为 的实用程序RegCap.exe来将与 COM 对象关联的注册表项捕获到 .reg 文件中,然后使用文本编辑器修改 .reg 文件以替换HKLMHKCU,然后加载此 .reg 文件,而不是注册 COM 对象。