我在Visual Studio 2010中开发了一个Excel VSTO加载项。它可以在Windows 7+和Excel 2007+的不同组合上正常工作,但无法在Windows XP和Excel 2007上加载,并且无法提供信息“A运行时错误在加载COM加载项“消息期间发生。 VSTO_SUPPRESSDISPLAYALERTS=0
和VSTO_LOGALERTS=1
不会产生任何数据。
使用API Monitor和Dependency Walker进行调试后,我发现了以下内容。为了加载加载项,Excel加载C:\Program Files\Common Files\Microsoft Shared\VSTO\10.0\VSTOLoader.dll
。此库从C:\Windows\System32\Version.dll
导入GetFileVersionInfoEx
函数,该函数仅从Vista开始提供。因此,甚至没有尝试加载我的加载项DLL,因为在加载VSTO运行时期间过程很早就失败了。
有关如何解决此问题的任何想法?我错过了一些依赖吗?这是我到目前为止安装的内容:
答案 0 :(得分:3)
我也遇到了这个烦人的问题。
对于我们这些仍在XP上支持客户的用户,您仍然可以使用之前的版本 VSTO 10.0.50903 而不会出现此问题。
虽然微软已经隐藏了旧的下载详细信息页面,但你仍然可以在这个非常深的链接中找到之前的版本:
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之外的所有版本版"仍然是支持的操作系统。正如你所指出的,这是不可思议的错误。