缺少mdmcpq驱动文件非原版Windows安装驱动失败“该设备的驱动程序未被安装。(代码 28)”错误

1、故障现象

       在给单位的一台Server2008R2 X64服务器上安装扫描枪的时候发现无法安装扫描枪驱动,打开设备管理器可以看到扫描枪硬件有黄色叹号标记。错误信息如下:

        Windows给出的错误提示很简单,“该设备的驱动程序未被安装。(代码 28)”,就是安装驱动程序有错,但是具体是什么错误,我们从这里是无法得到的。如果以错误提示或者错误代码为关键字上网搜索的话,相信我你一定得不到太多有用的信息。因为之前另外一台win7x64上安装这个扫描枪驱动是没问题的,所以我知道问题不在驱动本身或者硬件设备上。一开始以为是操作系统版本问题,但08r2和win7本来就是差不多的,绕了一些弯路后,还是决定从错误的根源上找原因。

 2、问题分析

      上网搜索后,知道驱动安装会生成系统日志保持在C:\Windows\inf\setupapi.dev.log\setupapi.dev.log中。打开这个日志找到相关日志信息再来分析问题就非常简单了。这是一个非常值得学习的小技巧,log日志远比图形界面提供的错误信息完整并且更有指导意义。如下是setupapi.dev.log中驱动安装时的相关错误信息节选:

     inf:           Opened INF: 'c:\windows\temp\dmiwu\{de4ae465-6949-463b-9822-287a65fb2b68}\nls_vcp_driver.inf' ([strings])
!    inf:           Could not find include INF file "layout.inf". Error = 0x00000002
!    inf:           Unable to load INF: 'C:\Windows\System32\DriverStore\FileRepository\mdmcpq.inf_amd64_neutral_b53453733bd795bc\mdmcpq.inf'(00000003)
!    inf:           Error 3: The system cannot find the path specified.
!    inf:           Could not find include INF file "mdmcpq.inf". Error = 0x00000003

       相比设备管理器提供的错误信息,这里的日志足够清楚了,安装驱动的时候因为打不开mdmcpq.inf文件所以驱动安装无法继续报错了。上面一行的layout.inf文件经过分析上下文是不影响安装进行的,重要的还是缺少mdmcpq这个东西。找到驱动的安装目录,在这个扫描枪驱动的inf文件中有如下行:

[VCP_DriverInstall.NT]
Include=mdmcpq.inf
CopyFiles=FakeModemCopyFileSection
AddReg=VCP_DriverInstall.NT.AddReg

扫描枪的驱动在安装过程中会用到mdmcpq.inf文件,但是安装时候找不到这个文件,所以出错了。

3、解决方法

       原因找到了缺少依赖驱动,修复就行了,上网直接搜吧,很容易找到一堆关于mdmcpq缺失的问题。同时也会搜到一些无效的方法,比如复制原版的mdmcpq.inf 和 usbser.sys到system32的inf和drivers目录。

       但是从日志很明显知道驱动查找的是C:\Windows\System32\DriverStore\FileRepository\目录。所以最好的方法还是从正常的系统中直接复制C:\Windows\System32\DriverStore\FileRepository\mdmcpq.inf_amd64_neutral_b53453733bd795bc目录到故障系统的同位置目录下,如果复制时提示文件夹没有访问权限,给FileRepository目录增加用户权限就行了。

我这里出现故障的系统版本是非原版系统,作者也是小有名气的。但在修改系统过程中难免出现一些隐藏的问题,这种隐藏比较深的故障,对于普通用户来说确实是很难解决的问题。这里非常值得注意的是驱动安装日志用于分析问题的方法,图形化界面虽然友好,但在分析故障原因上有时候的提示太过简化反而变得毫无意义。

 

 

 

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值