"The system cannot execute the specified program"

今天碰到一个用VC++写的程序在其他机器上运行错误的问题"The system cannot execute the specified program"

程序是控制台程序,没有使用MFC/ATL,在我自己的编译机器上运行正常,复制到另外一个服务器上运行,就出现上面的错误

上网搜了一下,找到这样一篇文章:http://blog.csdn.net/HaloKuhn/archive/2009/12/17/5027602.aspx

 以及微软的VC++程序发布问题解答:http://msdn.microsoft.com/zh-cn/library/ms235342(VS.80).aspx

问题原因:

我的编译机器上的Visual Studio 2005打过补丁包, %WinDir%\WinSxS\下面有x86_Microsoft.VC80.CRT_xxxx这样的文件夹6个

而目标机器上只有5个,检查了VC++工程生成的xxx.exe.intermediate.manifest文件,发现里面使用的CRT版本正好是我机器上有而目标机器上没有的

解决方案:

复制工程生成的xxx.exe.intermediate.manifest为xxx.exe.manifest,

把version='x.x.xxxxx.xxxx'改成目标机器上已有的任何一个版本号,然后拷贝到目标机器上,搞定

原文地址:https://www.cnblogs.com/hyamw/p/1678994.html