0

我有一个用于 Word 的 VSTO 插件。

使用 Visual Studio 2010(适用于 Word 2007 和 2010)和 VS 2008(适用于 Word 2003)开发。

它可以在 Windows(XP、Vista 和 Windows 7)以及 Office 版本(即 Office 2003、2007、2010)的许多不同组合中安装和运行。

除了一个:Windows XP (SP3) 上的 Word 2010。

症状是,当 Words 启动时,它似乎会加载加载项一段时间,但最终没有加载,并且加载项出现在非活动应用程序加载项列表中。

加载项的启动中有一些代码可以捕获异常并报告它们,但该代码永远不会被执行。因此,在加载项甚至开始执行之前,某处似乎存在异常。

这听起来像是没有找到一个程序集,这让我觉得可能没有安装 Office 2010 PIA,但我尝试明确安装它,它说它已经存在(应该是这种情况,因为 Office 2010 应该安装它(不像以前的 Office 版本没有安装它))。

这也可能是代码不受信任之类的症状,但我继续使用 caspol.exe 的代码信任机制,这对于 Office 和 Windows 的所有其他混合似乎都可以,所以我猜它可以O 2010 和 W XP。

如果它是缺少一个“我的”程序集,那么当加载项安装在其他 Windows 版本上时它就会丢失,因为无论操作系统如何,它都是相同的安装。

我受阻了。

4

1 回答 1

1

毕竟,答案相当简单:

当您在 Vista 和 Windows 7 上安装 Office 2010 时,似乎会自动安装 Office 2007 Primary Interop Assemblies。Office 2007 PIA 是与 VSTO 和 Office 2010 一起使用的。

但是:当您在 Windows XP(32 位)上安装 Office 2010(我没有尝试过 XP x64)时,不会自动安装 PIA。然后,如果您尝试运行可以从 Microsoft 获得的 o2007.msi 安装程序,它会告诉您除非安装了 Office 2007,否则它将无法工作!不是很有帮助。

但是,在我偶然发现这个StackOverflow 问题后,我发现,当然,您需要做的就是将您想要的 PIA 的实际 DLL 安装到运行可执行文件的文件夹中,然后就可以了!

于 2011-03-30T13:37:34.140 回答