1

我正在尝试使用 VS 2008 for Office XP(准确地说是 Excel)创建一个共享插件。但是,在 Visual Studio 中创建项目并更改对 Office XP 的引用(除了可扩展性,我似乎无法找到 office xp 的副本)并将 excel.exe 添加到引用中之后。我现在似乎无法在任何计算机上安装插件。

有没有人有关于使用 VS 2008(我可能添加的 Com 插件)编写 Office XP 插件的指南?

有谁知道我打算拥有的参考资料或我打算在电脑上安装的东西?

我有三台测试电脑,这台上有 office xp、2003 和 2007,我可以使用 2003 参考编写一个插件,在这台上运行,但没有其他盒子。一个只安装了office xp,还安装了office xp PIA 和.NET,另一个只安装了office xp。

任何帮助都会非常感激。

4

3 回答 3

1

我最终发现了这个问题。

问题来自 KB 条目908002。不幸的是,要运行修复程序,您需要安装 Visual Studio 2005 和 Office 2003,否则它不会部署修复程序,因此我已经多次忽略了这一点。最后,我在备用机器上找到了 VS2005 和 Office 2003 的旧副本,安装了修复程序,创建了安装程序并在装有 Office XP 的机器上进行了尝试,一切正常。

要在任何装有 Office XP 的机器上工作,需要进行两个修复:

extensibilityMSM.msi - installs the extensibility.dll
lockbagRegKey.msi    - adds a fix to a registry key

我找不到这些可以从 KB908002 修复程序中单独下载,但我在本地有副本。

应用这些修复后,可以像使用 VSTO 一样轻松使用 COM 插件,而且我只花了不到一个小时就编写了实际代码。我不是在寻找将这些作为先决条件包含在我的 MSI 安装程序中的方法。

任何问题都可以在评论中提出,我会尽快更新。

于 2009-01-02T10:25:21.593 回答
0

您需要安装 PIA 作为先决条件。插件完全安装,还是安装失败?主机应用程序 (Excel) 可能会禁止在启动时出现异常行为的加载项。您可以在 Excel 的加载项设置对话框中重新启用它。

于 2008-12-30T18:51:00.483 回答
0

@PintSizedCat -是一个 msdn 博客的链接,它展示了如何在不安装 VS2005 的情况下提取 msi。

请参阅“构建共享 COM 加载项安装项目”部分 - 使用命令行:

vs2005-kb908002-enu-x85.exe /T:”C:\Test” /C

对我们来说,它是带有 .Net 2.0 的 Excel 2003,并且缺少 extensibility.dll。我不认为 VS2008 / VS2010 有这个作为先决条件。dll 不可再分发(根据此博客- 请参阅“答案”部分) - 您必须使用 msi 重新分发它。

于 2011-09-20T03:30:45.917 回答