我在为 Outlook 2007 加载项创建安装文件时遇到了一些问题。
问题是加载项需要有一个引用 list (http://msdn.microsoft.com/en-us/library/bb386106.aspx) 的注册表项。该项目构建了一个 list 文件,该文件出现在我的 bin\debug 文件夹中。但是,在我的设置项目中,如果我去添加项目输出, list 永远不会列为输出的一部分。奇怪的是,安装程序确实在我的 bin\debug 文件夹中创建了一个引用我的 list 的注册表项,但这不合适,因为该文件夹在我将部署到的计算机上不可用。
谢谢。
====================================
对于那些感兴趣的人,一些背景问题。
- 如果我在我的设置中使用项目输出,VSTO 加载项第一次安装就很好。如果我使用相同的设置卸载并重新安装,则无法正确安装。如果我重建安装程序,它会再次正常安装(换句话说,它只会在第一次运行安装程序时安装)。
- 我更正了 (1),但从我的安装项目中删除了项目输出,而是手动添加文件(我的 dll + list ),然后更新注册表项以指向添加的 list 。这一次,我可以使用相同的设置尽可能多地卸载和重新安装。但是,出于某种原因,安装程序创建了两个注册表项,一个是我手动输入的,它指的是我包含的 list ,另一个是自动引用并指向我的 bin\debug 文件夹中的 list 。我无法删除这第二组注册表项,因为它们没有出现在我的安装项目中的任何位置。将它们留在那里的问题是加载项会执行每个命令两次(因为它已注册两次)。
奇怪,嗯?
最佳答案
我发现这篇关于 VSTO for office 2007 加载项部署的 Microsoft 白皮书非常有用:
http://msdn.microsoft.com/en-us/library/cc563937(office.12).aspx
(我最初链接到另一篇也很棒的论文,但适用于 2003 + 2007,有点不同:http://msdn.microsoft.com/en-us/library/bb332052.aspx)
特别是关于 list 的问题,我发现当加载项的注册表项与加载项本身同名时,由于构建过程中的某种神秘原因, list 值被默默地替换了从 VSTO list 到加载项 list 。
关于c# - VSTO(Outlook 加载项)设置部署 (C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2732415/