3

我在 Visual Studio 2010 中开发了一个 Excel VSTO 加载项。它在 Windows 7+ 和 Excel 2007+ 的不同组合上运行良好,但无法在 Windows XP 和 Excel 2007 上加载,并显示“在加载 COM 加载项”消息。VSTO_SUPPRESSDISPLAYALERTS=0并且VSTO_LOGALERTS=1不产生任何数据。

使用 API Monitor 和 Dependency Walker 调试后,发现如下。为了加载加载项,Excel 加载C:\Program Files\Common Files\Microsoft Shared\VSTO\10.0\VSTOLoader.dll. 该库从 导入GetFileVersionInfoEx函数C:\Windows\System32\Version.dll,仅从 Vista 开始可用。因此,甚至没有尝试加载我的加载项 DLL,因为该过程在加载 VSTO 运行时很早就失败了。

有想法该怎么解决这个吗?我错过了一些依赖吗?这是我到目前为止安装的内容:

4

1 回答 1

3

我也遇到了这个烦人的问题。

对于我们这些仍在 XP 上支持客户端的人,您仍然可以使用以前版本的VSTO 10.0.50903,而不会出现此问题。

虽然 Microsoft 隐藏了旧的下载详细信息页面,但您仍然可以在这个非常深的链接中找到以前的版本:

http://download.microsoft.com/download/C/0/0/C001737F-822B-48C2-8F6A-CDE13B4B9E9C/vstor_redist.exe

有趣的是,新VSTO 10.0.60724版本的系统要求仍然注意“带有 Service Pack 3 的 Windows XP (x86) - 除 Starter Edition 之外的所有版本”仍然是受支持的操作系统。正如你所指出的,这很遗憾是不正确的。

于 2016-04-27T01:37:53.133 回答