我创建了一个 .Net 4.0 (x86) Office 2007 (32-bit) Outlook 插件。制作插件是容易的部分,制作安装程序有点乏味。
在对 VSTO 以及如何为其创建 MSI 进行了一些研究之后,我(以及其他几个开发人员进行验证)遵循了“使用 Windows Installer 为 Office 解决方案部署 Visual Studio 2010 工具”,手动检查了“部署 VSTO 2010 解决方案”对于使用 Windows 安装程序的 Office 2007/2010”。我还进行了一些研究,例如测试“如何分配 Excel VSTO 安装的装配位置?” 还有更多,我不记得一切。
所有必需的依赖项都已得到处理,手动双击 .vsto 文件即可成功安装它,并且用户可以使用它。(查看 Process Monitor 这似乎使用 SideBySide 安装,找不到与 Microsoft 指令指示的相同注册表项的任何使用。)
但是 MSI 安装仍然无法正常工作。它可以正常安装并按预期注册注册表项,但在 Outlook 启动时未加载插件。
根据文档正确编写了VSTO 注册表项。该插件似乎已在 Outlook(信任中心)中注册,我可以在那里手动启用它。但是,在手动激活 Outlook 后重新启动 Outlook 时,LoadBehavior注册表项从 3(已加载,启动时加载)更改为 0(已卸载,不自动加载)。插件在任何时候都没有注册(它应该注册一个工具栏+按钮)。
如何让 MSI 工作?
为什么指南不起作用?(.Net 4.0 中的变化?与 Office 2007 不兼容?只是完全错了吗?)
如何调试实际出了什么问题?我在事件日志中找不到任何有用的东西。
(PS!手动安装不是一个选项。文件必须自动部署到大量计算机。)