Windows XP SP3 上的 VSTO 2010 运行时

标签 vsto windows-xp dependency-walker apimonitor

我在 Visual Studio 2010 中开发了一个 Excel VSTO 加载项。它在 Windows 7+ 和 Excel 2007+ 的不同组合上运行良好,但无法在 Windows XP 和 Excel 2007 上加载,出现非信息性“运行时错误”在加载 COM 加载项期间发生”消息。 VSTO_SUPPRESSDISPLAYALERTS=0VSTO_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 运行时的过程中很早就失败了。

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

最佳答案

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

对于我们这些仍在 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 版本的系统要求仍然注意“Windows XP (x86) with Service Pack 3 - all editions except Starter Edition”是仍然是受支持的操作系统。正如您所指出的,这是不正确的。

关于Windows XP SP3 上的 VSTO 2010 运行时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32806546/

相关文章:

ms-word - MS Office Word VSTO “Load On Demand”

windows-vista - 在安装过程中,Vista中各种文件类型在哪里运行

WPF 应用程序启动缓慢

c# - 在C#Windows应用程序中使用C++ DLL:获取错误 “Entry point not found”

.net - .NET 应用程序上的 Dependency Walker : FlsAlloc

c# - 使用 VSTO 将数据加载到 Microsoft Project 时如何提高性能

c# - 将 Outlook 电子邮件存储在 Microsoft SQL Server 数据库中

c# - VSTO 自定义 Outlook 文件夹上下文菜单

assembly - Windows 程序集怀疑 - x86

c++ - 无法在 Windows 中运行 Qt 应用程序