最近在处理项目问题的的时候发现了这么一个问题,就是我们的程序在调用第三方提供的dll文件的时候在一台机器上面会报14001的错误,但是在另一台机器上面不会。两台机器上面的操作系统是相同的。针对这个问题和这个错误码,查找了很多的相关资料。
vc错误查找的给予的对于14001的错误的解释:由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题。
下面是搜集的一些网络资料针对这个问题的说明和解决方法个人感觉还是很有参考意义的:
在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和你的程序捆绑安装。
如果安装Microsoft Visual C++ 2005 出现如下错误↓:
事件查看器显示:产品: Microsoft Visual C++ 2005 Redistributable -- Error 1935.安装程序集“Microsoft.VC80.ATL,type="win32",version="8.0.50727.4053",publicKeyToken="1fc8b3b9a1e18e3b",processorArchitecture="x86"”过程中发生错误。请参阅帮助和支持获取详细信息。HRESULT: 0x80070422。程序集接口: IAssemblyCacheItem,功能: Commit,组件: {97F81AF1-0E47-DC99-A01F-C8B3B9A1E18E}
解决方法:启动 Windows Modules Installer 服务,再安装。OK,解决。
http://social.msdn.microsoft.com/forums/en-US/vcgeneral/thread/66bc8cab-c134-49a8-85e5-37ca9efbdeb4/
个人问题解决过程:
1.考虑的是两个方面:
一个是程序调用的dll是否提供了所要的方法;
一个是dll所依赖的dll是否完整。
这两方面都是通过depends工具来查看
2.我的问题是我用的是别人提供的dll文件自己不可以去更改dll文件的生成方式,因此所做的工作就是设法去导入dll所依赖的dll文件。
(1)配置系统环境变量的path路径使dll做可能依赖的系统dll文件能够找到依赖的dll。
(2)推测第三方所提供的dll开发时候应该用的是vs2005或者vs2008在或者就是vs2010,然后所提供的dll文件或许就是动态加载的dll,所以安装了vcredist_x86的vs2005,vs2008以及vs2010版本的,这个地方的操作对于我解决问题起了作用,但是具体是哪一个这个没有去确定
(3)为了使自己程序运行的环境没有必要都去安装vcredist_x86所以找到vcredist_x86安装之后对应的dll文件和调用的第三方的dll放在同一个目录下面,也可以放在C:\WINDOWS\system32但是path路径中的配置一定要有,一般来说都是会有的。
通过上面的三个方面个人的问题是解决了,当然具体到个人的项目里面还有很多的方面要考虑,但就这个dll加载的14001错误,上面的解决方法还是ok的。网上的相关资料还是很多的,希望个人整理的这些对你有小小的帮助。针对vcredist_x86的dll文件以及vs2005,vs2008 和 vs 2010对应的exe安装文件可以搜一下,我也把我搜到的上传一下,共享。
据其他网友推荐使用下面的方法
在Win7中运行某些软件时,突然提示出错信息“应用程序无法启动,因为应用程序的并行配置不正确。有关详细信息,请参阅应用程序事件日志,或使用命令行sxstrace.exe工具。”
查看win7应用程序事件日志:计算机——>右击——>管理——>事件查看器——>应用程序和服务日志
出现这个问题是因为安装windows7 后,或使用ghost版本安装后,
所以到微软官方网站下载:Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)下载:http://www.microsoft.com/downloads/details.aspx?familyid=200B2FD9-AE1A-4A14-984D-389C36F85647&displaylang=zh-cn
注意:安装完了后,还需要重启一下计算机。
比较方便的方法直接下载 VC Redist Installer
- 软件名称:
- VC Redist Installer(vc运行库) V1.6 英文免费安装版
- 软件大小:
- 47.7MB
- 更新时间:
- 2017-06-17立即下载
由于应用程序配置不正确,应用程序未能启动等绿色软件不能打开,一般都是缺少必要的vc运行库。
VC Redist Installer由国外网友McRip制作,汇集VC2005、VC2008、VC2010、VC2012、VC2013运行库,包含32及64位版本,安装自动判断。这些运行库都采用Visual Studio 20XX编写的软件必须使用公用DLL运行库。网上某些精简软件没有附带这些公用DLL,会导致这些绿化软件没法正常运行,出现“应用配置不正确”错误或者缺少msvcp71.dll、msvcr71.dll错误,安装对应VC库即可解决,这是最全最新的VC运行库的集合,安装完本库以后再使用绿色软件、游戏就不会再出这个错了。
VC++运行库有什么用?
我们为什么要使用它?什么时候需要它?太深奥的理论就不多说了,举个简单的例子,我们从网上下载来一些绿色精简软件或个人软件作品或某些游戏,运行的时候发现报错,常见的有:缺少或丢失msvcp71.dll、msvcr71.dll、msvcrt.dll、msvcrt.dll等;无法启动此程序,因为计算机中丢失 mfc*.dll。尝试重新安装该程序以解决此问题。因为这些软件是用采用Microsoft Visual Studio编写的,它们运行的过程中必须使用公用的DLL运行库,即上在所说的VC运行库。
了解了原因之后,解决方法也就明白了,有两种途径:一是安装Microsoft Visual C++运行库集成包;二是去网上寻找对应版本的VC运行库DLL文件,然后再手动复制到系统目录里。前者肯定不行,那软件太庞大了,没有必要为了几个运行库文件去下载上G的文件。后者太麻烦了,要去网上寻找,下载后还要自己手动导入,而且32位和64位系统的导入目录是不同的。
vc运行库包含组件:
现在好了,有了VC Redist Installer,一切就变得简单了,它内置了全部的VC运行库DLL文件,其组件包括:
汇聚以下组件库:
- Visual C++ 2005 x86;
- Visual C++ 2005 x64;
- Visual C++ 2008 x86 9.0.30729.7523;
- Visual C++ 2008 x64 9.0.30729.7523;
- Visual C++ 2010 x86 10.0.40219.455;
- Visual C++ 2010 x64 10.0.40219.447;
- Visual C++ 2012 x86 11.0.60830.0;
- Visual C++ 2012 x64 11.0.60830.0;
- Visual C++ 2013 x86 12.0.21005.1;
- Visual C++ 2013 x64 12.0.21005.1;
- Microsoft Visual F Runtime 2.0;
- Older Microsoft Runtimes for older software;
注意/帮助:安装过程可以自行选择,并不是要全部安装,在Windows 7下做了测试,全部安装的话时间比较长。需要说明的是如果没有开启Administrator超级用户则需要右键“以管理员身份”运行该软件并执行安装!同时,鉴于第三方软件可能会误报,实属正常,总之,放心使用即可!
14001
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新动态
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]