VS2005 解决"应用程序配置不正确,程序无法启动"问题

<p>用vs2008 开发c++项目,遇到拷贝到没有开发环境的测试机器运行,弹出应用程序配置不正确,程序无法启动的问题。</p>
<p>网上得文如下:</p>
<p>在具体解决得时候需要根据具体情况寻找相关文件得位置</p>
<p>我的位置是</p>
<p>D:/Program Files/Microsoft Visual Studio 9.0/VC/redist/Debug_NonRedist/x86/Microsoft.VC90.DebugCRT</p>
<p></p>
<p>最近使用VS2005+codejock开发,需要做一个Release版本。当我把必要的mfc库,拷贝到exe目录下时。exe还是不能启动。</p>
<p>经过网上查找,看到一篇文章。“<a id="AjaxHolder_ctl01_TitleUrl" href="http://www.cnblogs.com/wuhanhoutao/archive/2008/01/09/1031928.html">解决"应用程序配置不正确,程序无法启动"</a>
”</p>
<p>URL :http://www.cnblogs.com/wuhanhoutao/archive/2008/01/09/1031928.html</p>
<p>于是乎。我按照文章所讲的,将dl和mainfest文件。统统从VS2005的redis文件下,拷贝到exe目录下。</p>
<p>呵呵,居然exe可以运行了。</p>
<p>但是:1.肯定有些dll是当前exe不需要的。还需要将之删除。</p>
<p> 2.manifest也许是必须的一个文件。</p>
<p>这篇文章是这样讲的。</p>
<p><span style="">在使用</span>
<a href="http://www.vchelp.net/" target="_blank">VC</a>
++2005<span style="">环境下生成的程序,放置到未安装</span>
VC<span style="">环境的机器下后,有时候会出现程序无法执行的错误,其提示是:应用程序配置不正确,程序无法启动,重新安装应用程序可能解决问题。</span>
</p>
<p><span style="">实际上,重装是解决不了问题的,解决的一种方法是查看</span>
*exe.intermediate.manifest<span style="">文件,比如文件的内容是:</span>
</p>
<p><?xml version='1.0' encoding='UTF-8' standalone='yes'?></p>
<p><assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'></p>
<p><dependency></p>
<p> <dependentAssembly></p>
<p> <assemblyIdentity type='win32' name='Microsoft.VC80.CRT'
version='8.0.50727.762' processorArchitecture='x86'
publicKeyToken='1fc8b3b9a1e18e3b' /></p>
<p> </dependentAssembly></p>
<p></dependency></p>
<p><dependency></p>
<p> <dependentAssembly></p>
<p> <assemblyIdentity type='win32' name='Microsoft.VC80.MFC'
version='8.0.50727.762' processorArchitecture='x86'
publicKeyToken='1fc8b3b9a1e18e3b' /></p>
<p> </dependentAssembly></p>
<p></dependency></p>
<p><dependency></p>
<p> <dependentAssembly></p>
<p> <assemblyIdentity type='win32'
name='Microsoft.VC80.DebugCRT' version='8.0.50727.762'
processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' /></p>
<p> </dependentAssembly></p>
<p></dependency></p>
<p></assembly></p>
<p><span style=""> 需要注意这个文件中的</span>
3<span style="">个关键词:</span>
Microsoft.VC80.CRT<span style="">,</span>
Microsoft.VC80.MFC<span style="">和</span>
Microsoft.VC80.DebugCRT<span style="">。</span>
<span style="">寻找到</span>
...."Program Files"Microsoft Visual Studio 8"VC"redist<span style="">文件夹下面,找到这些名称的子文件夹,拷贝它们下面所有的文件到希望发布的</span>
EXE<span style="">文件下面,一起打包。这些文件也就是</span>
mfc80.dll<span style="">,</span>
msvcr80.dll<span style="">,</span>
msvcp80.dll<span style="">和</span>
Microsoft.VC80.CRT.manifest<span style="">等。此错误发生的原因是在目标机器上需要这些文件的支持。</span>
</p>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
[VS2005]解决“由于应用程序配置正确应用程序未能启动,重新安装应用程序可能会纠正这个问题” 今天在准备发布用VS2005写的那个程序时,拷贝到我同事机器上,双击突然出现了“由于应用程序配置正确应用程序未能启动,重新安装应用程序可能会纠正这个问题“,这个问题很让我意外,以前只出现过缺少DLL的情况,而这次出现这个问题,让我一时没办法。想想,无非是两个原因引起的,要么是他没有安装VS2005的原因,要么是我的程序里依赖了其它的一些库。于是百度一下,发现好多相关主题。我是按照这个帖子解决的: 在VS2005下用C++写的程序,在一台未安装VS2005的系统上, 用命令行方式运行,提示: “系统无法执行指定的程序” 直接双击运行,提示: “由于应用程序配置正确应用程序未能启动,重新安装应用程序可能会纠正这个问题” 以前用VC6和VS2003的话, 如果缺少库文件,是会提示缺少“**.dll”,但是用VS2005却没有这样的提示。 自己实验了一下,感觉以下几种解决办法是可行的: 方法一: 在类似C:\Program Files\Microsoft Visual Studio 8\VC\redi st\Debug_NonRedist\x86\Microsoft.VC80.DebugCRT 下找到了下列文件: msvcm80d.dll msvcp80d.dll msvcr80d.dll Microsoft.VC80.DebugCRT.manifest 把这几个文件拷贝到目标机器上,与运行程序同一文件夹或放到system32下,就可以正确运行了。 其他release版、MFC程序什么的都是拷redist下相应文件夹下的文件就可以了,文件夹后都有标识! 方法二: 修改编译选项,将/MD或/MDd 改为 /MT或/MTd,这样就实现了对VC运行时库的静态链接,在运行时就不再需要VC的dll了。 方法三: 工程-》属性-》配置属性-》常规-》MFC的使用,选择“在静态库中使用mfc” 这样生成的exe文件应该就可以在其他机器上跑了。 方法四: 你的vc8安装盘上找到再分发包vcredist_xxx.exe和你的程序捆绑安装
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值