解决Windows应用程序不能加载C++组件 Side-by-Side错误

原创 2016年06月02日 09:24:04

起因

前两天写了个小工具,在我的机器跑得好好的,QA的测试机里面却死活跑不起来,一运行就出现一个圣诞框,报一个side by side的错误:

The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log or use the command-line sxstrace.exe tool for more detail.

郁闷至极,不过这个对话框却提供了一点额外的信息:

use the command-line sxstrace.exe tool for more detail

于是Google了一下,sxstrace.exe是一个跟踪调试应用程序的工具,看起来很不错的样子。

解决过程

按照 这个 帖子,先打开sxstrace.exe的调试模式:

sxstrace trace -logfile:C:/trace.bin

然后再打开应用程序,这时候在C盘根目录的trace.bin已经生成了,于是退出sxstrace,再运行以下命令:

sxstrace parse -logfile:C:/trace.bin -outfile:C:/trace.log

因为sxstrace trace出来的文件是二进制的,所以用上述命令将其转换成txt的。

打开trace.log,内容如下:

=================
Begin Activation Context Generation.
Input Parameter:
    Flags = 0
    ProcessorArchitecture = Wow32
    CultureFallBacks = en-US;en
    ManifestPath = C:\Users\ADMINI~1\AppData\Local\Temp\1\7zS4BF7914E\installer.exe
    AssemblyDirectory = C:\Users\ADMINI~1\AppData\Local\Temp\1\7zS4BF7914E\
    Application Config File =
-----------------
INFO: Parsing Manifest File C:\Users\ADMINI~1\AppData\Local\Temp\1\7zS4BF7914E\installer.exe.
    INFO: Manifest Definition Identity is (null).
    INFO: Reference: Microsoft.VC90.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8"
INFO: Resolving reference Microsoft.VC90.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8".
    INFO: Resolving reference for ProcessorArchitecture WOW64.
        INFO: Resolving reference for culture Neutral.
            INFO: Applying Binding Policy.
                INFO: No publisher policy found.
                INFO: No binding policy redirect found.
            INFO: Begin assembly probing.
                INFO: Did not find the assembly in WinSxS.
                INFO: Attempt to probe manifest at C:\Windows\assembly\GAC_32\Microsoft.VC90.CRT\9.0.21022.8__1fc8b3b9a1e18e3b\Microsoft.VC90.CRT.DLL.
                INFO: Did not find manifest for culture Neutral.
            INFO: End assembly probing.
    INFO: Resolving reference for ProcessorArchitecture x86.
        INFO: Resolving reference for culture Neutral.
            INFO: Applying Binding Policy.
                INFO: No publisher policy found.
                INFO: No binding policy redirect found.
            INFO: Begin assembly probing.
                INFO: Did not find the assembly in WinSxS.
                INFO: Attempt to probe manifest at C:\Windows\assembly\GAC_32\Microsoft.VC90.CRT\9.0.21022.8__1fc8b3b9a1e18e3b\Microsoft.VC90.CRT.DLL.
                INFO: Attempt to probe manifest at C:\Users\ADMINI~1\AppData\Local\Temp\1\7zS4BF7914E\Microsoft.VC90.CRT.DLL.
                INFO: Attempt to probe manifest at C:\Users\ADMINI~1\AppData\Local\Temp\1\7zS4BF7914E\Microsoft.VC90.CRT.MANIFEST.
                INFO: Attempt to probe manifest at C:\Users\ADMINI~1\AppData\Local\Temp\1\7zS4BF7914E\Microsoft.VC90.CRT\Microsoft.VC90.CRT.DLL.
                INFO: Attempt to probe manifest at C:\Users\ADMINI~1\AppData\Local\Temp\1\7zS4BF7914E\Microsoft.VC90.CRT\Microsoft.VC90.CRT.MANIFEST.
                INFO: Did not find manifest for culture Neutral.
            INFO: End assembly probing.
    ERROR: Cannot resolve reference Microsoft.VC90.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8".
ERROR: Activation Context generation failed.
End Activation Context Generation.

看起来是 Microsoft.VC90.CRT.dll 这个reference没有找到,这个是属于 Visual C++ 2008 Redistributable 的一个动态链接库。去M$的网站下一个装上,一切就OK了。

总结

写这篇blog主要是为了记录 sxstrace.exe 这个 工具,感觉用来debug不错。

SideBySide错误解决方法

SideBySide错误解决方法,本系统WIN2003 32位。 在事件查看器--系统里,经常出现 SideBySide 的错误提示,内容如下: Resolve Partial Assembly 为 ...
  • fanfan_gaolin
  • fanfan_gaolin
  • 2016年03月04日 09:36
  • 6039

Side by side解决方案

有时候,我们用Visual C++开发的程序,发布到一台没有开发环境的电脑上,有可能出现错误,应用程序根本就运行不起来,如下图所示: 它提示side by side配置不正确,这种情况一般都...
  • leehong2005
  • leehong2005
  • 2013年02月24日 21:22
  • 3492

Side by Side configuration error(并排配置错误)

Most of the developers, using assemblies in there application may faced this issue.   大多数开发人员将组件应用在...
  • xxxwrq
  • xxxwrq
  • 2013年03月29日 19:02
  • 1965

Side by side解决方案

有时候,我们用Visual C++开发的程序,发布到一台没有开发环境的电脑上,有可能出现错误,应用程序根本就运行不起来,如下图所示: 它提示side by side配置不正确,这种情况一般都...
  • leehong2005
  • leehong2005
  • 2013年02月24日 21:22
  • 3492

手机自动化测试(5)--Appium环境搭建、可能遇到的问题以及附属工具

1、搭建Android环境 http://blog.csdn.net/jlminghui/article/details/39582895 注:需要设置系统变量“ANDROID_HOME”。 ...
  • xieyuemin
  • xieyuemin
  • 2015年11月03日 16:15
  • 9367

关于github开源项目Side-Menu.Android的使用详解

Side menu with some categories to choose. Check this project on dribbble. Check this project on Beh...
  • EaskShark
  • EaskShark
  • 2015年06月18日 21:39
  • 3418

ASP.NET Ajax client-side framework failed to load OR ‘Sys’ is undefined(ASP.NET Ajax 客户端框架未能加载)

部署好网站后运行发现JS脚本错误,提示ASP.NET Ajax client-side framework failed to load,后来到处找原因,就是找不到,从头到尾解决方法如下,最后终于成功...
  • chenludaniel
  • chenludaniel
  • 2015年05月29日 16:50
  • 966

win7组件服务COM+应用程序编录错误解决办法

原贴:http://blog.csdn.net/szjyy007/archive/2010/10/29/5974114.aspx 有时候在安装某个应用程序的过程中会出现下面的错误提示:无法创建COM应...
  • KasenHOo
  • KasenHOo
  • 2011年06月04日 21:45
  • 1706

IIS服务器无法加载应用程序 '/LM/W3SVC/1/ROOT'。错误是 '没有注册类别

================================================================================== 问题: IIS服务器无法加载应...
  • nube163
  • nube163
  • 2011年10月08日 17:32
  • 435

Visual Studio 2005下C++智能设备应用程序常见错误及解决方法

1、MFC智能设备应用程序不能创建的问题: 解决方法: 1.关闭VS2005,运行 RegEdit.exe  2.找到以下路径: HKEY_LOCAL_MACHINE\SOFTWARE\Mic...
  • shaozhuyong
  • shaozhuyong
  • 2012年03月29日 11:29
  • 630
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:解决Windows应用程序不能加载C++组件 Side-by-Side错误
举报原因:
原因补充:

(最多只允许输入30个字)