主页 > 经验 >

电脑运行应用程序失败出现运行库错误的问题及解决方法汇总

不少用户在电脑中遇到了运行程序后,提示错误无法打开的情况,而其中提示的错误又有所不同,可能是软件本身安装不完整,或软件不兼容系统等。本文将提供电脑运行应用程序失败出现运行库错误的问题及解决方法汇总供大家了解,希望对大家有所帮助
一、缺少d3dx9_xx.dll
打开一些游戏,可能会收到这种错误提示“无法打开此程序,因为计算机中丢失d3dx9_xx.dll(xx不一定是哪个数),比如以下情况:

暂时性解决方法:遇到这种错误,许多人首先想到,直接去百度上搜缺少的那个d3dx9文件,下载下来放入游戏目录,这种方法用后,一般该游戏还真能进去了,但是,这实际上是一种治标不治本的方法。因为把d3dx9下载到游戏目录里面,虽然这个游戏能玩了,但是别的游戏很可能还会因为缺失这个文件而进不去,这时又得把这个d3dx9再复制到另一个游戏的目录,而且,这个游戏要d3dx9_43,说不定另一个游戏要的是46或者39或什么的,这又得去再找缺失的另一个d3dx9文件下载,如此反复,非常麻烦。
实际上,这种d3dx9_xx缺少的错误,不是因为游戏目录中缺少这个文件(这个文件根本就不是游戏目录里自带的),而是电脑上没有安装完整的directx。directx是微软开发的一个游戏运行库,现在多数游戏都需要这个运行库来运行,而d3dx9文件正是这个运行库里面的东西。
最好解决方法:网上下载一个DirectX Redist 2010.6,大小有个8,90mb,安装这个时,进度条里会看到一个接一个的d3dx9_xx.dll被安装到电脑的系统目录下。安装完成后,本来提示缺少文件的游戏就能打开了。目前许多大型游戏的CommonRedist或Redist里面都有这个DirectX运行库的安装程序,一般为dxwebsetup,这个是DirectX的在线安装版本,需要网络连接才能安装,当然也有少数游戏(如cod11)里面直接集成了完整版的DirectX运行库安装程序。
二、缺少msvcpxxx.dll或msvcrxxx.dll

暂时性解决方法:这个错误,许多人的解决方法跟上面的方法类似,还是去百度这个缺少的文件,下载到缺少该文件的软件或游戏的目录下。结果当然还是治标不治本,这个软件进去了,别的软件可能还是缺这个文件,或后面数字不同的文件,甚至还会出现更严重的“应用程序无法正常启动(0x......)”错误(这个错误下文会讲)。
这个错误,同样不是因为软件或游戏目录中缺少这个叫"msvcpxxx.dll"的文件(当然有的软件目录底下也会有这个文件),这个错误也是一种运行库缺失错误。缺什么运行库呢?visual C++运行库。相信有聪明的已经从文件名上看得出来这是visual C++运行库的文件了(ms即Microsoft vc即visual C++)。
最好的解决办法:当然还是下载这个visual C++运行库装上。但是visual C++有好多版本,怎么知道缺哪个呢?别急,看缺的文件后面的数字。跟vcp或vcr接着的那两个或三个数字,就表示该文件所对应的vc库的版本。msvcp60.dll,就是vc6.0运行库,msvcp70.dll,就是vc7.0运行库,msvcp80.dll,就是vc8.0运行库,也就是vc2005,msvcp90.dll,就是vc9.0运行库(vc2008),msvcp100.dll就是vc10(vc2010)的,依次类推,msvcp110对应vc2012,msvcp120对应vc2013,msvcp140对应vc2015,为什么没有msvcp130呢?因为msvcp130对应的应该是vc13.0,而西方国家不用13这个数字,版本也都是跳过13,从12直接到14(所以office也没有13)。msvcrxxx.dll也同理。根据这个命名,就可以根据缺失的文件,来推测应该装哪个运行库来解决问题。再一个,vc运行库又分32和64位,这个应当根据系统的位数来装。同样,许多游戏的Redist或CommonRedist里面也有这个vc运行库,文件名为vcredist_x86或vcredist_x64。当然,为了以后更方便运行软件,建议还是把vc从2005到2015全装一遍,这样运行任何软件都不会报msvcp缺少文件了。
三、应用程序并行配置不正确

这个错误,通常也是因为缺少vc++运行库造成的,但是具体少的是哪个vc运行库就不好说了,要看软件。
暂时性解决方法:比如,QQ现在用的是vc2008运行库,如果没有安装vc2008运行库,打开QQ就会报并行配置不正确。真三国无双6也会报这个错误,但是这东西要的运行库比较特殊,日版vc2005运行库。不光要vc2005运行库,而且得要日本的vc2005运行库,也不知道日本的vc2005是不是比别的vc2005多了什么东西。别的软件或游戏报并行错误就得具体来定了。如果是游戏,把游戏目录下的Redist里的vcredist装上一般就不报错了,如果是软件,就只能去网上搜这个软件需要的运行库到底是哪个版本,再装该版本的运行库。
最好的解决方法:把vcredist从2005装到2015,vc运行库全了就很少再有这种错误了。如果已经安装过了vc2005至2015的运行库,还是报这个并行错误,而且通过查资料这软件不需要什么特殊版本vc库的话,就只能考虑别的原因了,比如网上说的什么Windows Moudles Installer服务,这就不属于运行库缺失错误的范围了,这里不再讲述。
四、无法定位输入点

故障原因:
还有的时候,打开程序会报无法定位程序输入点,后面可能是一个单词或一行鸟语,最后是于某某文件上。这种错误,通常是由最后的那个文件引起的错误,说到底就是这个文件虽然名字一样,但是版本不是该软件需要的那个版本。比如,无法定位输入点(......)于msvcp80.dll上,就是说,机器虽然有个msvcp80.dll,但是dll里面的具体版本与程序所需的版本不一致。为什么这样呢?因为同是一个版本的vc库,还要分许多种小版本号,具体就是sp1之类的。比如一个软件要求vc2008 sp1运行库,结果电脑上的运行库是不带sp的vc2008,此时,电脑上虽然也有vc2008的msvcp90.dll,但是这个msvcp90.dll的内部版本号和vc2008 sp1的msvcp90的内部版本不一样,结果就可能报输入点错误或是下面要讲的应用程序无法正常启动错误。这就是上面所说的,为什么有的时候,遇到缺少msvcp110时,在网上下载的msvcp110放进目录,不光没解决错误,还提示了更严重的应用程序错误,正因为网上下载的msvcp110文件内部版本号不一致。
举个实际的例子,PS3那个开发了许多年但还是不能玩什么游戏的pc模拟器rpcs3,如果没装运行库,打开时就会提示缺少msvcp120.dll,这时根据前面可以查到,这个软件需要vc2013运行库。百度了个vc2013装上了,再打开rpcs3.exe,却又提示无法定位程序输入点fegetround于动态链接库msvcp120.dll上。咋回事?再次打开那个vc2013安装程序,界面上面的描述吸引了眼球“visual c++ 2013 preview”,难道就是这个preview是引起输入点错误的原因?到网上再找vc2013,原来vc2013有两个版本,一个是早先发行的preview,一个是正式版本,下了个正式版的vc2013装上,打开rpcs3.exe,看到了熟悉的界面。
最近发表
赞助商链接