我是靠谱客的博主 淡定鸭子,最近开发中收集的这篇文章主要介绍解决Windows应用程序Side-by-Side错误,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

起因

前两天写了个小工具,在我的机器跑得好好的,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:UsersADMINI~1AppDataLocalTemp17zS4BF7914Einstaller.exe
AssemblyDirectory = C:UsersADMINI~1AppDataLocalTemp17zS4BF7914E
Application Config File =
-----------------
INFO: Parsing Manifest File C:UsersADMINI~1AppDataLocalTemp17zS4BF7914Einstaller.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:WindowsassemblyGAC_32Microsoft.VC90.CRT9.0.21022.8__1fc8b3b9a1e18e3bMicrosoft.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:WindowsassemblyGAC_32Microsoft.VC90.CRT9.0.21022.8__1fc8b3b9a1e18e3bMicrosoft.VC90.CRT.DLL.
INFO: Attempt to probe manifest at C:UsersADMINI~1AppDataLocalTemp17zS4BF7914EMicrosoft.VC90.CRT.DLL.
INFO: Attempt to probe manifest at C:UsersADMINI~1AppDataLocalTemp17zS4BF7914EMicrosoft.VC90.CRT.MANIFEST.
INFO: Attempt to probe manifest at C:UsersADMINI~1AppDataLocalTemp17zS4BF7914EMicrosoft.VC90.CRTMicrosoft.VC90.CRT.DLL.
INFO: Attempt to probe manifest at C:UsersADMINI~1AppDataLocalTemp17zS4BF7914EMicrosoft.VC90.CRTMicrosoft.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了。

总结

对于windows我一向没有好感,不评价,写这篇blog主要是为了记录 sxstrace.exe 这个 工具,感觉用来debug不错。

转载于:https://www.cnblogs.com/ini_always/archive/2013/01/31/2887308.html

最后

以上就是淡定鸭子为你收集整理的解决Windows应用程序Side-by-Side错误的全部内容,希望文章能够帮你解决解决Windows应用程序Side-by-Side错误所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部