用vs2008 开发c++项目,遇到拷贝到没有开发环境的测试机器运行,弹出应用程序配置不正确,程序无法启动的问题。
网上得文如下:
在具体解决得时候需要根据具体情况寻找相关文件得位置
我的位置是
D:/Program Files/Microsoft Visual Studio 9.0/VC/redist/Debug_NonRedist/x86/Microsoft.VC90.DebugCRT
最近使用VS2005+codejock开发,需要做一个Release版本。当我把必要的mfc库,拷贝到exe目录下时。exe还是不能启动。
经过网上查找,看到一篇文章。“解决"应用程序配置不正确,程序无法启动" ”
URL :http://www.cnblogs.com/wuhanhoutao/archive/2008/01/09/1031928.html
于是乎。我按照文章所讲的,将dl和mainfest文件。统统从VS2005的redis文件下,拷贝到exe目录下。
呵呵,居然exe可以运行了。
但是:1.肯定有些dll是当前exe不需要的。还需要将之删除。
2.manifest也许是必须的一个文件。
这篇文章是这样讲的。
在使用 VC ++2005环境下生成的程序,放置到未安装 VC环境的机器下后,有时候会出现程序无法执行的错误,其提示是:应用程序配置不正确,程序无法启动,重新安装应用程序可能解决问题。
实际上,重装是解决不了问题的,解决的一种方法是查看 *exe.intermediate.manifest文件,比如文件的内容是:
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
<dependency>
<dependentAssembly>
<assemblyIdentity type='win32' name='Microsoft.VC80.CRT' version='8.0.50727.762' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly>
<assemblyIdentity type='win32' name='Microsoft.VC80.MFC' version='8.0.50727.762' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly>
<assemblyIdentity type='win32' name='Microsoft.VC80.DebugCRT' version='8.0.50727.762' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
</dependentAssembly>
</dependency>
</assembly>
需要注意这个文件中的 3个关键词: Microsoft.VC80.CRT, Microsoft.VC80.MFC和 Microsoft.VC80.DebugCRT。 寻找到 ...."Program Files"Microsoft Visual Studio 8"VC"redist文件夹下面,找到这些名称的子文件夹,拷贝它们下面所有的文件到希望发布的 EXE文件下面,一起打包。这些文件也就是 mfc80.dll, msvcr80.dll, msvcp80.dll和Microsoft.VC80.CRT.manifest等。此错误发生的原因是在目标机器上需要这些文件的支持。
本文由VS软件圈(vssoft.net)发布,不代表VS软件圈立场,转载联系作者并注明出处:https://vssoft.net/vsazwt/VS2005anzhuangwenti/2020/0721/719.html