最近发布给客户的程序中,双击exe程序出现“应用程序无法启动,因为应用程序的并行配置不正确”,下面提示使用sxstrace跟踪调试应用程序运行时需要的动态库的版本和路径。
于是有以下操作:
步骤:
1.利用管理员身份运行命令提示窗口
2.输入sxstrace.exe Trace -logfile:C:\trace.log(路径自定义),开始跟踪
3.运行应用程序,回车,完成跟踪生成报告
4.输入sxstrace.exe Parse -logfile:C:\trace.log -outfile:C:\trace.txt
5.打开trace.txt文件,查看日志信息,缺少的c++运行库
6.查看日志,查找失败发生的具体原因。
通过上述操作后,查看了trace.txt文件:
这句话:
错误: 无法解析参考
Microsoft.VC90.DebugCRT,processorArchitecture=“x86”,publicKeyToken=“1fc8b3b9a1e18e3b”,type=“win32”,version=“9.0.21022.8”。
于是有:(本人测试直接拷贝4个文件,并修改一下版本号,最终成功运行在没有预装VC环境下运行程序。)
Release版安装发布包,可以在目录C:\Program Files\Microsoft
SDKs\Windows\v6.0A\Bootstrapper\Packages\vcredist_x86
下找到vcredist_x86.exe,拷贝到目标机器上安装即可,也可以从微软官网下载
/en-us/download/search.aspx?q=redistributable%20package%20
Debug版拷贝相关文件 先从目标机器上运行一下,出错后从系统日志查看详细信息:
“…\mysqlcppconn.dll”的激活上下文生成失败。 找不到从属程序集
Microsoft.VC90.DebugCRT,processorArchitecture=“x86”,
publicKeyToken=“1fc8b3b9a1e18e3b”,type=“win32”,version=“9.0.21022.8”。
请使用 sxstrace.exe 进行详细诊断。 到本地目录C:\Program Files\Microsoft Visual
Studio 9.0\VC\redist\Debug_NonRedist\x86\Microsoft.VC90.DebugCRT
下拷贝四个文件到目标机器,与程序放在同一目录,并打开Microsoft.VC90.DebugCRT.manifest文件
找到version=“9.0.30729.1” 改为错误日志中提示的版本号 version=“9.0.21022.8”
参考:/machh/p/5320385.html
/furenjian/p/10960232.html