100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > vs库编译的exe在其他电脑上无法运行:由于出现问题 程序停止正常工作

vs库编译的exe在其他电脑上无法运行:由于出现问题 程序停止正常工作

时间:2022-07-22 10:05:37

相关推荐

vs库编译的exe在其他电脑上无法运行:由于出现问题 程序停止正常工作

如题,我自己电脑上有vs库的环境,编译好后的exe放在其他电脑上运行报错:

由于出现问题,程序停止正常工作。Windows将关闭程序,并会在有可用的解决方案时通知你。

可以用SxSTrace.exe来跟踪错误,找到原因:

以管理员模式打开powershell或者cmd,这里我以powershell为例

然后命令行进入你崩溃的exe在的文件路径(用来保存日志,这里我以我自己的为例)

cd C:\Users\502\Desktop\Release

开启SxSTrace进行追踪

SxSTrace Trace -logfile:SxsTrace.etl

运行刚刚报错的exe,然后关闭程序

在刚刚的powershell框里按下回车键关闭监听,并输入如下指令

SxSTrace Parse -logfile:SxsTrace.etl -outfile:aa.txt

5. 打开刚刚生成的 aa.txt ,看看是什么报错

Flags = 0ProcessorArchitecture = Wow32CultureFallBacks = zh-CN;zh-Hans;zh;en-US;enManifestPath = C:\Users\502\Desktop\Release\VrpnNet.dllAssemblyDirectory = C:\Users\502\Desktop\Release\Application Config File = -----------------信息: 正在解析清单文件 C:\Users\502\Desktop\Release\VrpnNet.dll。信息: 指令清单定义标识是 (null)。信息: 参考: Microsoft.VC90.DebugCRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8"信息: 正在解析参考 Microsoft.VC90.DebugCRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8"。信息: 正在解析 ProcessorArchitecture WOW64 的参考。信息: 正在解析区域性 Neutral 的参考。信息: 正在应用绑定策略。信息: 未找到发布服务器策略。信息: 未找到绑定策略重定向。信息: 开始程序集探测。信息: 未找到 WinSxS 中的程序集。信息: 尝试在 C:\WINDOWS\assembly\GAC_32\Microsoft.VC90.DebugCRT\9.0.21022.8__1fc8b3b9a1e18e3b\Microsoft.VC90.DebugCRT.DLL 上探测指令清单。信息: 未找到区域性 Neutral 的指令清单。信息: 结束程序集探测。信息: 正在解析 ProcessorArchitecture x86 的参考。信息: 正在解析区域性 Neutral 的参考。信息: 正在应用绑定策略。信息: 未找到发布服务器策略。信息: 未找到绑定策略重定向。信息: 开始程序集探测。信息: 未找到 WinSxS 中的程序集。信息: 尝试在 C:\WINDOWS\assembly\GAC_32\Microsoft.VC90.DebugCRT\9.0.21022.8__1fc8b3b9a1e18e3b\Microsoft.VC90.DebugCRT.DLL 上探测指令清单。信息: 尝试在 C:\Users\502\Desktop\Release\Microsoft.VC90.DebugCRT.DLL 上探测指令清单。信息: 尝试在 C:\Users\502\Desktop\Release\Microsoft.VC90.DebugCRT.MANIFEST 上探测指令清单。信息: 尝试在 C:\Users\502\Desktop\Release\Microsoft.VC90.DebugCRT\Microsoft.VC90.DebugCRT.DLL 上探测指令清单。信息: 尝试在 C:\Users\502\Desktop\Release\Microsoft.VC90.DebugCRT\Microsoft.VC90.DebugCRT.MANIFEST 上探测指令清单。信息: 在 C:\Users\502\Desktop\Release\Microsoft.VC90.DebugCRT\Microsoft.VC90.DebugCRT.MANIFEST 上找到指令清单。信息: 结束程序集探测。

可以看到是缺少这几个依赖,回到我的有这个依赖的电脑,把这Microsoft.VC90.DebugCRT一整文件夹复制过去,里面包含“Microsoft.VC90.DebugCRT.manifest、msvcm90d.dll、msvcp90d.dll、msvcr90d.dll”这是个文件

然后再次运行exe文件,发现还是崩溃,又把上述过程重复了一遍,发现了新的报错:

信息: 正在解析参考 Microsoft.VC90.DebugCRT.mui,language="*",processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8"。信息: 正在解析 ProcessorArchitecture WOW64 的参考。信息: 正在解析区域性 zh-CN 的参考。信息: 正在应用绑定策略。信息: 未找到发布服务器策略。信息: 未找到绑定策略重定向。信息: 开始程序集探测。信息: 未找到 WinSxS 中的程序集。信息: 尝试在 C:\WINDOWS\assembly\GAC_32\Microsoft.VC90.DebugCRT.mui\9.0.21022.8_zh-CN_1fc8b3b9a1e18e3b\Microsoft.VC90.DebugCRT.mui.DLL 上探测指令清单。信息: 未找到区域性 zh-CN 的指令清单。信息: 结束程序集探测。信息: 正在解析区域性 zh-Hans 的参考。信息: 正在应用绑定策略。信息: 未找到发布服务器策略。信息: 未找到绑定策略重定向。信息: 开始程序集探测。信息: 未找到 WinSxS 中的程序集。

可能是版本不对,把这个版本号“9.0.21022.8”记住

用记事本打开刚刚复制过来的Microsoft.VC90.DebugCRT.manifes,发现这里的版本号确实不对,将版本号换成前面记住的“9.0.21022.8”然后保存

9.再次运行exe,成功运行!

或者,有另一个简单粗暴的方法,直接把vs运行环境再另一台电脑上安装一下就好,vcredist_x86.exe,我将资源都上传到了

/download/lxfHaHaHa/12795562,有需要的可以下载。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。