DirectX修复工具全部文件修复失败或下载失败的解决方法

最后更新于 2019-2-24

问题描述

    近日接连接到一些用户的反馈,说他们在使用DirectX修复工具的时候,所有文件的状态均为修复失败或者下载失败(如下图)。虽然他们使用的是标准版或增强版而非在线修复版,程序还是会尝试下载需要的DirectX组件。

注:由于我无法复现此现象,因此此图片来自网络截图。所有权归原上传者所有。

    之后他们也都按照程序的提示以安全模式启动系统,但是结果仍然是全部失败或下载失败。部分人尝试上网寻找解决办法,但是发现不管是百度还是各种论坛都没有人能给他们一个满意的解决办法。

    经过我从网上各种渠道的了解,此问题虽然是小概率事件(目测不足1%),但是在各个系统均有零星出现,从Windows 7,Windows 8一直到最新的Windows 10均存在。并且,不管使用哪个版本的DirectX修复工具(从V1.2版到V3.7版),在他们的电脑上也都会出现此问题。

    排查这个问题花费了很长的时间,因为这些问题在我的电脑上均不复现,只有在极个别电脑上出现。经过我对几个用户进行了远程查看后,终于发现了产生问题的原因。

    DirectX修复工具为了保障用户修复的安全性,会调用系统组件进行文件校验。如果系统中的这些系统组件恰好存在异常,则会造成程序校验失败,导致给出的结论是所有文件均失败或下载失败。当然这个结论也是不正确的。

 

解决方法

    虽然产生问题的原因很难确定,但是解决此问题却十分地简单。在本程序的“工具”菜单下的“选项”对话框里,有一个选项为“安全级别”(如下图):

    程序默认的选项为“高”。“高”安全级别的意思是,程序将调用系统核心组件进行安全校验。如果此时系统核心组件有问题,自然是会修复失败。这时只要将“安全级别”更改为“低”,并确定即可。“低”安全级别时,程序将会使用内建的校验算法来进行安全校验,绕过了系统组件存在异常的问题,此时再进行修复自然也就可以修复成功了。

    当更改完模式再次修复时,将不会再次出现所有文件均失败的情况,可能只是某些文件异常或丢失。程序通过正常的步骤进行修复,修复后即可解决绝大部分0xc000007b以及DirectX异常造成的错误。

 

编后语

    由于造成此现象的原因不在程序内部,而是某些个别系统,因此想要通过修改程序来实现避免此问题比较棘手。同时,由于这是小概率事件,在我周边的电脑都没有出现过类似的问题,定位到具体哪个系统核心组件异常也比较困难。近期,我针对此问题也做了一些专项研究,大致定位了问题所在。由于这个问题在我的电脑上不复现,我无法测试效果,因此在这里希望出现这个问题的玩家帮助我进行测试。请大家下载我提供的Hash Verification哈希值校验工具,运行校验工具,然后对DirectX Repair.exe文件进行哈希校验。请将计算出的哈希值截图(如不会截图请手机拍照),并通过电子邮件将截图(或照片)传给我以供研究。在此,我对愿意帮我测试的用户深表感谢,对那些被修复失败提示所困扰的用户深表歉意。

    翻看网上的帖子,最早出现这个问题可能要追溯到几年前。但是由于不复现的原因一直也无法解决。在这里我也感谢那些愿意付出时间让我进行远程调试的朋友。要不是你们的协助,此问题很会继续发生下去。

    最后,我也对所有用户的理解与支持深表感谢。

 

总结

        使用DirectX修复工具时,发现所有文件的状态均为修复失败或者下载失败,可以通过在DirectX修复工具的选项菜单里将“安全级别”调为“低”来避免此问题。

文件中包含了DirectX修复工具中一些常见问题及其解答,如您存在问题,请首先查看以下解答是否能解决您的问题。 This file includes some frequently asked questions and answers about DirectX Repair. If you have any problems with the programme, please check first if there are answers below (English translation is at bottom). Thank you. 问题1:XP系统上运行软件时出现0xc0000135的错误,怎么回事? 答:Windows XP SP3系统用户需先安装Microsoft .NET Framework 2.0或更高版本才可运行本程序,详情请见“致Windows XP用户.txt”文件。 问题2:我下载的是标准版或是在线修复版,怎么将程序升级成增强版? 答:首先来说,各个版本之间,主程序(即exe文件)完全相同,标准版与增强版相比,只是缺少相应的扩展数据包,因此无法进行增强式修复(即修复c++)。因此,可以通过补全扩展包的形式使标准版直接成为增强版。本程序自V3.5版起,自带扩展功能。只要在主界面的“工具”菜单下打开“选项”对话框,找到“扩展”标签,点击其中的“开始扩展”按钮即可。扩展过程需要Internet连接,扩展成功后新的数据包可立即生效。扩展用时根据网络速度不同而不同,最快仅需数秒,最慢需要数分钟,烦请耐心等待。 问题3:我的网络连接正常,但为什么扩展总是失败并提示请连接到Internet? 答:这可能是由于扩展过程被电脑上的杀毒软件或防火墙拦截导致的。从V4.0版起针对此问题进行了优化,只需点击“扩展”界面左上角的小锁图标切换为加密链接,即可避免大部分错误。 问题4:我在有的电脑上使用标准版或在线修复修复DirectX后,程序弹出c++组件仍异常的提示,让我使用增强版再修复;而在有些其他电脑上使用标准版修复完成后,却没有这个提示(此时我感觉c++仍有问题)。这是什么原因? 答:本程序致力于解决0xc000007b错误,因此只有在程序检测到系统中c++存在异常,可能导致0xc000007b问题,而修复时又没有使用增强版修复相应c++时,才会弹出此提示。而对于那些根本没有安装c++的系统,程序则不会提示。理论上讲,本程序完全可以解决c++未安装所带来的任何错误(如提示缺少msvcr140.dll文件等),但之所以程序在这些系统上不做任何提示,是考虑到绝大部分电脑都会缺失c++组件,如果均进行提示,则此提示将变成必出现的提示,所有用户都需要使用增强版进行再次修复,失去了标准版存在的意义。 问题5:部分文件修复失败怎么办? 答:可以以安全模式引导系统(具体方法百度可查),然后再用本程序进行修复即可成功。 问题6:全部文件的状态都是下载失败失败,这是怎么回事? 答:在极个别的电脑上,由于系统核心组件异常,导致程序在检测时无法调用系统组件而产生此问题。此时请在程序的“工具”菜单下“选项”对话框中,将“安全级别”改为“低”即可。更改后再进行修复即可正确完成相关操作。 问题7:该软件能支持64位操作系统吗? 答:能。程序在编程时已经充分考虑了不同系统的特性,可以完美支持64位操作系统。并且,程序有自适应功能,可以自动检测操作系统版本、位数,无需用户进行设置。 问题8:玩游戏出现闪退、黑屏、卡屏、卡死、帧数低、打太极等问题,修复后仍不能解决? 答:该问题的可能原因较多,比如DirectX有问题,c++有问题。使用DirectX修复工具增强版即可解决由这两种情况所导致的问题。如果修复后仍不能解决,则可能有三种原因:第一,游戏有问题(或破解补丁有问题),建议从别的网站上重新下载;第二,显卡驱动没装好(这种情况较多),建议重装显卡驱动;第三,硬件配置不够。 问题9:出现DirectDraw、Direct3D、AGP纹理加速不可用,修复后仍不能解决? 答:本程序的V3.2版本之后新增了一个开启该加速的功能,请先尝试使用该功能进行修复。如果修复后仍不能解决,则通常是由于显卡驱动有问题造成的,建议到显卡官网下载最新驱动安装即可(如显卡驱动异常,将会在开启DirectX加速页面右上角进行提示,仅限V3.9版或更高版本支持此功能)。 问题10:本程序是只能修复C盘中的DirectX吗?其他盘中的如何修复? 答:本程序不是只能修复C盘中的DirectX,而是修复当前系统所在磁盘的DirectX。如果您的操作系统安装在了C盘,则程序会修复C盘中的DirectX,如果您的操作系统安装在了D盘,则
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值