windows运行软件出现报错怎么办
windows运行软件出现报错怎么办
当我们用windows打开一个软件或者游戏,无非会有两种情况,要么成功打开,要么报错,对于报错打不开的原因也很多,可能是软件本身安装不完整,或软件不兼容系统,或破解版游戏没破解好等等,尤其是新装的电脑系统,可能报错提示更普遍,windows运行软件出现报错的解决方法其实很简单,下面由学习啦小编告诉你!
windows运行软件出现报错的解决方法
缺少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缺少文件了。
应用程序并行配置不正确,这个错误的提示中说了个叫sxstrace.exe的东西,千万别被它误导后满c盘找那个sxstrace,然后发现找到也不会用。实际上,解决这个错误提示,跟sxstrace.exe,没有半毛钱关系,它一般还是个运行库缺失错误。哪个运行库呢?还是缺少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,看到了熟悉的界面。
应用程序无法正常启动/应用程序初始化失败,这种错误就比较复杂了,但是许多时候,原因还是出在运行库上。可能是电脑缺少某个版本的vc运行库或DirectX Redist,也可能是上面说的运行库内部版本不正确,甚至是缺少.net framework运行库(安装程序DotNetFX打头),但是缺少.net运行库的情况比较少,且大都出现在windows7以前的系统上,因为windows8以后,系统都自带了.net运行库4.0版本或4.5版本,不会再因为缺少.net4.0或4.5而报错,即使应用需要的是3.5以前的.net库,打开时也不会弹错误,而是提示让安装.net framework 3.5(包括2.0和3.0),这时候只要有网络,按下下一步,windows会自动下载.net运行库并安装。如果是windows7以前的系统收到上述错误,可以尝试安装DotNetFX打头的程序来排除net运行库的原因。如果是windows8以上,这种错误就不用再考虑net运行库的原因了。当然,.net还有更高的4.6版本,这个版本需要手动安装,不过,需要4.6运行库的软件实在太少了,至少我还没见过,我想也就是用Visual Studio 2015搞编程的人才可能用得到吧。
缺少java运行库的时候,是否需要java运行库(jre运行环境)的判定就很简单了,只有jar扩展名的文件或主程序为jar扩展名的文件才用到java运行库。如果没有安装jre运行库,jar文件没有茶杯图标,也打不开,cmd中输入javaw会提示javaw不是命令,用bat文件打开的java程序在双击bat时会直接闪退。
其它运行库的缺失,除了上述主要的运行库,还有一些不大常用的运行库,比如Microsoft XNA Framework,Microsoft Sync Framework,OpenAL这些,缺少的话也会导致少部分软件不能正常运行。还有一些可以被比作“运行库”的软件,因为缺少这些软件也会像缺少某个运行库一样,导致一些程序不能运行。比如Rockstar Games的Social Club,不装这个的话GTA5玩不了,还有Ubisoft Game Launcher,没有它的话Ubisoft的正版游戏不能玩,还有Steam,Origin,GFWL,对一些正版游戏来说勉强算个“运行库”吧。
最大的“运行库”,除了这些运行库以外,不要忘了还有个最大的“运行库”,就是我们打开电脑就在运行的Windows,Windows为各种软件提供了最基本的运行环境和驱动、系统文件,运行一切exe程序都少不了Windows这个大“运行库”的工作,没了Windows,DirectX啦,vc++啦,全是浮云啊!
END
看了“windows运行软件出现报错怎么办”的人还看了