[VS2008]解决“由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题”

最近把一个开发好的程序部署到没有安装VS2008的电脑上,提示“由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题”。这个问题确实有点让我奇怪,我开始怀疑是我的系统是64位、服务器是32位的原因,在以前用vc6、vs2003的时候,都会提示缺少什么库。有人说,跟系统有关系,有人说跟release和debug版本有关系,我只能说能说出这样话的人,跟他的工作经验和积累有关系,同时也反应出他在这方面的水平。现在提示这个,在网上搜了搜,有解决问题的方法。然后就建了一个测试的程序,然后选择使用静态库中使用MFC,然后考过去就可以用了。

而在用我的程序编译的时候,又出现其他的问题,在解决后,就提示缺少dll了。把这个拷到目标电脑上,运行就ok了。

还有其他的方法没有测试,现在总结一下方法,后面三种方法没有测试过,有兴趣朋友可以自己验证一下:

方法一:在编译的时候,工程-》属性-》配置属性-》常规-》MFC的使用,选择使用静态库中使用MFC,选择这个会有一些冲突的提示,在连接的地方可以忽略冲突的库。个人偏向于使用这种方法。

 

方法二:修改编译选项,将/MD/MDd改为 /MT/MTd,这样就实现了对VC运行时库的静态链接,在运行时就不再需要VCdll了。

 

方法三:

在类似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下相应文件夹下的文件就可以了,文件夹后都有标识!

 

方法四:

你的vc8安装盘上找到再分发包vcredist_xxx.exe和你的程序捆绑安装。

 

 转载请注明原创链接:http://blog.csdn.net/wujunokay/article/details/18016155

 

 

 

[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和你的程序捆绑安装
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值