Windows XP SP3 上的 VSTO 2010 运行时

VSTO 2010 Runtime on Windows XP SP3

我在 Visual Studio 2010 开发了一个 Excel VSTO 插件。它在 Windows 7+ 和 Excel 2007+ 的不同组合上运行良好,但失败了在 Windows XP 和 Excel 2007 上加载非信息性 "A runtime error occurred during the loading of the COM Add-In" 消息。 VSTO_SUPPRESSDISPLAYALERTS=0VSTO_LOGALERTS=1 不产生数据。

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

关于如何解决这个问题有什么想法吗?我错过了一些依赖吗?这是我目前安装的:

我也 运行 陷入这个 麻烦 的问题。

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

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

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

有趣的是,新 VSTO 10.0.60724 版本的系统要求 still 注意 "Windows XP (x86) with Service Pack 3 - all editions except Starter Edition" 仍然是受支持的操作系统。正如您所指出的,这是不正确的。