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

DirectX修复工具全部文件修复失败或下载失败的解决方法最后更新于2019-2-24问题描述  近日接连接到一些用户的反馈,说他们在使用DirectX修复工具的时候,所有文件的状态均为修复失败或者下载失败(如下图)。虽然他们使用的是标准版或增强版而非在线修复版,程序还是会尝试下载需要的DirectX组件。注:由于我无法复现此现象,因此此图片来自网络截图。所有权归原上传者所有。  之后他们也都按照程序的提示以安全模式启动系统…

大家好,又见面了,我是你们的朋友全栈君。

最后更新于 2019-2-24

问题描述

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

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

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

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

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

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

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

 

解决方法

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

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

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

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

 

编后语

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

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

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

 

总结

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/133215.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • static静态变量在内存中的存储[通俗易懂]

    static静态变量在内存中的存储[通俗易懂]static用来控制变量的存储方式和可见性    函数内部定义的变量,在程序执行到它的定义处时,编译器为它在栈上分配 空间,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一个 问题:如果想将函数中此变量的值保存至下一次调用时,如何实现?最容易想 到的方法是定义一个全局的变量,但定义为一个全局变量有许多缺点,最明显的 缺点是破坏了此变量的访问范围(使得在此函数中定义的变量,不仅…

    2022年5月3日
    94
  • 安装loadrunner,缺少VC2005_sp1_with_atl的错

    安装loadrunner,缺少VC2005_sp1_with_atl的错

    2021年7月17日
    50
  • threadlocal底层实现_什么是底层

    threadlocal底层实现_什么是底层ThreadLocal作用:提供线程内的局部变量,不同的线程之间不会相互干扰,这种变量在线程的生命周期内起作用,减少同一个线程内多个函数或组件之间一些公共变量传递的复杂性。package com.mupack;public class App{ private String content; public void setContent(String content) { this.content = content; } public Stri

    2022年8月9日
    2
  • Tomcat路径下目录的介绍

    Tomcat路径下目录的介绍

    2022年3月3日
    29
  • fprintf函数的用法_itoa函数

    fprintf函数的用法_itoa函数fprintf()用于文件操作#includeintfprintf(FILE*stream,constchar*format,…);fprintf()函数根据指定的format(格式)发送信息(参数)到由stream(流)指定的文件.

    2022年10月19日
    0
  • RNN-bptt简单推导「建议收藏」

    RNN-bptt简单推导「建议收藏」摘要:在前面的文章里面,RNN训练与BP算法,我们提到了RNN的训练算法。但是回头看的时候在时间的维度上没有做处理,所以整个推导可能存在一点问题。那么,在这篇文章里面,我们将介绍bptt(BackPropagationThroughTime)算法如在训练RNN。关于bptt这里首先解释一下所谓的bptt,bptt的思路其实很简单,就是把整个RNN按时间的维度展

    2022年6月23日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号