2

我创建了一个 .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!手动安装不是一个选项。文件必须自动部署到大量计算机。)

4

1 回答 1

0

我最终创建了一个 NSIS 安装程序,在其中执行带有静默标志的 vstoinstaller 来安装 VSTO。我还使用了有效的证书来签署二进制文件并(以编程方式)在 vstoinstall 之前的安装阶段将证书添加到受信任的存储区,以绕过 -300 错误代码。

于 2012-10-21T09:18:55.020 回答