我遇到了一些问题,在创建Outlook 2007添加程序的安装文件时。
问题是Add-In需要有一个注册表项,它引用了清单文件(http://msdn.microsoft.com/en-us/library/bb386106.aspx)。该项目会构建一个清单文件,出现在我的bin\debug文件夹中。然而,在我的安装项目中,如果我添加项目输出,那么清单将永远不会列为输出的一部分。奇怪的是,安装程序确实创建了一个注册表项,该项引用了我的bin\debug文件夹中的清单,但这并不适合我部署的机器,因为那个文件夹不可用。
谢谢。
====================================
对于那些感兴趣的人,以下是一些背景问题。
- 如果我在安装中使用项目输出,则VSTO插件第一次安装就很好。如果我卸载并重新使用相同的安装程序安装,则无法正确安装。如果我重新构建安装��序,则再次安装正常(换句话说,它只在运行安装程序的第一次安装时安装)。
- 我通过从我的安装项目中删除项目输出,手动添加文件(我的dll + 清单),然后更新注册表键,以指向添加的清单,来纠正(1)。这次,我可以使用相同的安装程序卸载和重新安装多次。但是,由于某种原因,安装程序会创建两个注册表项:一个是我手动添加的,引用了我包含的清单;另一个是自动引用的,指向我的bin\debug文件夹中的清单。我无法删除第二组注册表项,因为它们在我的安装项目中没有出现过。保留他们的问题是插件每个命令都执行两次(因为它被注册了两次)。
奇怪吧?