查看: 30836|回复: 12

[讨论] Arduino无法安装驱动找不到指定文件问题的解决方法

[复制链接]
最近一段时间,出现不少客户使用UNO无法安装驱动,我们首先怀疑产品问题,寄回测试又没有任何问题,后来通过网络搜索有达人找到了问题。
因为操作系统是精简版本,里面缺少很多有用信息(我们使用thinkpad自带的WIN7测试,安装驱动毫无压力,正版贵啊!大家都懂的)。
很多人使用的win7操作系统是非MSDN发布的纯净正版,使用了ghost版本,精简版,修改版等。导致缺少了系统文件。

以下是从http://www.cnblogs.com/back2earth/archive/2012/12/26/2785388.html 转载,如有侵犯请告知。

可能有人在电脑上第一次使用Arduino时会遇到下面的问题(如图)

提示系统无法找到系统文件
我就遇到了这样的问题,折腾了一晚上问题终于得到了解决,下面我把问题原因和解决方法和大家分享。
问题原因:
我们可以打开 C:\Windows\inf\setupapi.dev 打开硬件安装日志。找到最后一条记录,我们会发现如下错误:
     sto:                Copying driver package files to 'C:\Users\ADMINI~1\AppData\Local\Temp\{7ff41925-97db-1c6a-d5be-311dd1322b22}'.
     inf:                Opened INF: 'd:\arduino-1.0.2\drivers\arduino uno.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_x86_neutral_1b9e317b2982c778\mdmcpq.inf'(00000003)
!    inf:                Error 3: The system cannot find the path specified.
!    inf:                Could not find include INF file "mdmcpq.inf". Error = 0x00000003
     inf:                Opened INF: 'd:\arduino-1.0.2\drivers\arduino uno.inf' ([strings])
这一段记录的意思是无法找到C:\Windows\System32\DriverStore\FileRepository\mdmcpq.inf_x86_neutral_1b9e317b2982c778\mdmcpq.inf这个文件。
那么究竟是什么原因导致了文件的丢失,经过一番搜索之后,发现时部分精简版的Windows系统将该文件精简掉了,这就是部分网友给出重装系统的解决方案的原因。
好了,既然我们已经定位到了缺少的文件,那么我们把它补上就好了。
解决方法:
1. 下载压缩包
  32位Win7:点此下载
2. 将压缩包直接解压到C:\Windows\System32\DriverStore\FileRepository\路径下。
  (注意:如果按此方法进行到最后一步,仍然报错,你可能需要更改“mdmcpq.inf_x86_neutral_xxxx”这个文件夹的名字,将名字中的xxxx替换为错误日志中提示的文件夹名称,如何找到这个日志文件已在问题分析中提到,很简单的。)
3. 重新安装驱动,安装方法网上有详细介绍,我这里简单给大家说下:
  (1) 把Arduino接到USB上,此时可能会提示设备无法正确安装;
  (2) 在“设备管理器”中找到Arduino,右键点击,选择“更新驱动程序”;
  (3) 定位到你下载的Arduino开发工具目录中找到drivers目录,我的电脑中时这个目录D:\arduino-1.0.2\drivers;
  (4) 点击下一步,最后会提示安装成功!
好的,到这里本文的正文也就结束了,我还想跟大家说一句的是,大家在编程或使用计算机的过程中可能会遇到一些十分棘手的问题,虽然也许解决问题的方法并不复杂,但是毫无思路,这时需要我们跳出自己的思维方式,到搜索引擎、论坛等进行大量搜索,尤其是国外的网站(如stackoverflow),会很好的帮助你拓宽思路,甚至直接解决问题。
最后祝大家在Arduino上玩的愉快!

mickey  NPC
 楼主|

发表于 2013-12-21 11:10:14

笔者最近使用一台新笔记本安装Arduino驱动,笔记本是windows7家庭版,安装驱动显示驱动未签名,解决办法是将系统升级成旗舰版,然后会遇到上面的错误,根据上面的操作办法即可解决问题。
回复 支持 反对

使用道具 举报

tuzuyao  见习技师

发表于 2014-10-9 21:21:51


我的win7的提示是这样的,求解,替换文件mdmcpq.inf_x86_neutral_********也没有用,有高手帮忙解释吗?

>>>  [Import Driver Package - c:\program files (x86)\arduino\drivers\arduino.inf]
>>>  Section start 2014/10/09 21:08:05.207
      cmd: "C:\Program Files (x86)\Arduino\drivers\dpinst-amd64.exe" /lm /sw /sa
     sto: Importing driver package into Driver Store:
     sto:      Driver Store   = C:\windows\System32\DriverStore (Online | 6.1.7601)
     sto:      Driver Package = c:\program files (x86)\arduino\drivers\arduino.inf
     sto:      Architecture   = amd64
     sto:      Locale Name    = neutral
     sto:      Flags          = 0x00000000
     sto: Copying driver package files to 'C:\Users\zuyao.tu\AppData\Local\Temp\{78dfa8e9-89ab-485a-9e14-f933cd137877}'.
     inf: Opened INF: 'c:\program files (x86)\arduino\drivers\arduino.inf' ([strings])
     inf: Opened INF: 'C:\windows\System32\DriverStore\FileRepository\mdmcpq.inf_amd64_neutral_b53453733bd795bc\mdmcpq.inf' ([strings])
     inf: Opened INF: 'C:\windows\System32\DriverStore\FileRepository\usb.inf_amd64_neutral_efc1d9d1a972acd0\usb.inf' ([strings.0409])
     inf: Opened INF: 'c:\program files (x86)\arduino\drivers\arduino.inf' ([strings])
     flq: {FILE_QUEUE_COPY}
     flq:      CopyStyle      - 0x00000000
     flq:      SourceRootPath - 'c:\program files (x86)\arduino\drivers'
     flq:      SourceFilename - 'arduino.cat'
     flq:      TargetDirectory- 'C:\Users\zuyao.tu\AppData\Local\Temp\{78dfa8e9-89ab-485a-9e14-f933cd137877}'
     flq: {FILE_QUEUE_COPY exit(0x00000000)}
     flq: {FILE_QUEUE_COPY}
     flq:      CopyStyle      - 0x00000000
     flq:      SourceRootPath - 'c:\program files (x86)\arduino\drivers'
     flq:      SourceFilename - 'arduino.inf'
     flq:      TargetDirectory- 'C:\Users\zuyao.tu\AppData\Local\Temp\{78dfa8e9-89ab-485a-9e14-f933cd137877}'
     flq: {FILE_QUEUE_COPY exit(0x00000000)}
     flq: {_commit_file_queue}
     flq:      CommitQ DelNodes=0 RenNodes=0 CopyNodes=2
     flq:      {_commit_copy_subqueue}
     flq:           subqueue count=2
     flq:           source media:
     flq:                SourcePath   - [c:\program files (x86)\arduino\drivers]
     flq:                SourceFile   - [arduino.cat]
     flq:                Flags        - 0x00000000
     flq:           {_commit_copyfile}
     flq:                CopyFile: 'c:\program files (x86)\arduino\drivers\arduino.cat'
     flq:                      to: 'C:\Users\zuyao.tu\AppData\Local\Temp\{78dfa8e9-89ab-485a-9e14-f933cd137877}\SETEBF3.tmp'
     flq:                MoveFile: 'C:\Users\zuyao.tu\AppData\Local\Temp\{78dfa8e9-89ab-485a-9e14-f933cd137877}\SETEBF3.tmp'
     flq:                      to: 'C:\Users\zuyao.tu\AppData\Local\Temp\{78dfa8e9-89ab-485a-9e14-f933cd137877}\arduino.cat'
     flq:           {_commit_copyfile exit OK}
     flq:           {_commit_copyfile}
     flq:                CopyFile: 'c:\program files (x86)\arduino\drivers\arduino.inf'
     flq:                      to: 'C:\Users\zuyao.tu\AppData\Local\Temp\{78dfa8e9-89ab-485a-9e14-f933cd137877}\SETEC23.tmp'
     flq:                MoveFile: 'C:\Users\zuyao.tu\AppData\Local\Temp\{78dfa8e9-89ab-485a-9e14-f933cd137877}\SETEC23.tmp'
     flq:                      to: 'C:\Users\zuyao.tu\AppData\Local\Temp\{78dfa8e9-89ab-485a-9e14-f933cd137877}\arduino.inf'
     flq:           {_commit_copyfile exit OK}
     flq:      {_commit_copy_subqueue exit OK}
     flq: {_commit_file_queue exit OK}
     pol: {Driver package policy check} 21:08:05.997
     pol: {Driver package policy check - exit(0x00000000)} 21:08:06.007
     sto: {Stage Driver Package: C:\Users\zuyao.tu\AppData\Local\Temp\{78dfa8e9-89ab-485a-9e14-f933cd137877}\arduino.inf} 21:08:06.007
     inf:      Opened INF: 'C:\Users\zuyao.tu\AppData\Local\Temp\{78dfa8e9-89ab-485a-9e14-f933cd137877}\arduino.inf' ([strings])
     inf:      Opened INF: 'C:\windows\System32\DriverStore\FileRepository\mdmcpq.inf_amd64_neutral_b53453733bd795bc\mdmcpq.inf' ([strings])
     inf:      Opened INF: 'C:\windows\System32\DriverStore\FileRepository\usb.inf_amd64_neutral_efc1d9d1a972acd0\usb.inf' ([strings.0409])
     inf:      Opened INF: 'C:\Users\zuyao.tu\AppData\Local\Temp\{78dfa8e9-89ab-485a-9e14-f933cd137877}\arduino.inf' ([strings])
     sto:      Copying driver package files:
     sto:           Source Path      = C:\Users\zuyao.tu\AppData\Local\Temp\{78dfa8e9-89ab-485a-9e14-f933cd137877}
     sto:           Destination Path = C:\windows\System32\DriverStore\Temp\{1da86f7a-eb6b-2161-22c7-8a4526f1a767}
     flq:      {FILE_QUEUE_COPY}
     flq:           CopyStyle      - 0x00000010
     flq:           SourceRootPath - 'C:\Users\zuyao.tu\AppData\Local\Temp\{78dfa8e9-89ab-485a-9e14-f933cd137877}'
     flq:           SourceFilename - 'arduino.cat'
     flq:           TargetDirectory- 'C:\windows\System32\DriverStore\Temp\{1da86f7a-eb6b-2161-22c7-8a4526f1a767}'
     flq:      {FILE_QUEUE_COPY exit(0x00000000)}
     flq:      {FILE_QUEUE_COPY}
     flq:           CopyStyle      - 0x00000010
     flq:           SourceRootPath - 'C:\Users\zuyao.tu\AppData\Local\Temp\{78dfa8e9-89ab-485a-9e14-f933cd137877}'
     flq:           SourceFilename - 'arduino.inf'
     flq:           TargetDirectory- 'C:\windows\System32\DriverStore\Temp\{1da86f7a-eb6b-2161-22c7-8a4526f1a767}'
     flq:      {FILE_QUEUE_COPY exit(0x00000000)}
     flq:      {_commit_file_queue}
     flq:           CommitQ DelNodes=0 RenNodes=0 CopyNodes=2
     flq:           {_commit_copy_subqueue}
     flq:                subqueue count=2
     flq:                source media:
     flq:                     SourcePath   - [C:\Users\zuyao.tu\AppData\Local\Temp\{78dfa8e9-89ab-485a-9e14-f933cd137877}]
     flq:                     SourceFile   - [arduino.cat]
     flq:                     Flags        - 0x00000000
     flq:                {_commit_copyfile}
     flq:                     CopyFile: 'C:\Users\zuyao.tu\AppData\Local\Temp\{78dfa8e9-89ab-485a-9e14-f933cd137877}\arduino.cat'
     flq:                           to: 'C:\windows\System32\DriverStore\Temp\{1da86f7a-eb6b-2161-22c7-8a4526f1a767}\SETEEC1.tmp'
     flq:                     MoveFile: 'C:\windows\System32\DriverStore\Temp\{1da86f7a-eb6b-2161-22c7-8a4526f1a767}\SETEEC1.tmp'
     flq:                           to: 'C:\windows\System32\DriverStore\Temp\{1da86f7a-eb6b-2161-22c7-8a4526f1a767}\arduino.cat'
     flq:                {_commit_copyfile exit OK}
     flq:                {_commit_copyfile}
     flq:                     CopyFile: 'C:\Users\zuyao.tu\AppData\Local\Temp\{78dfa8e9-89ab-485a-9e14-f933cd137877}\arduino.inf'
     flq:                           to: 'C:\windows\System32\DriverStore\Temp\{1da86f7a-eb6b-2161-22c7-8a4526f1a767}\SETEF00.tmp'
     flq:                     MoveFile: 'C:\windows\System32\DriverStore\Temp\{1da86f7a-eb6b-2161-22c7-8a4526f1a767}\SETEF00.tmp'
     flq:                           to: 'C:\windows\System32\DriverStore\Temp\{1da86f7a-eb6b-2161-22c7-8a4526f1a767}\arduino.inf'
     flq:                {_commit_copyfile exit OK}
     flq:           {_commit_copy_subqueue exit OK}
     flq:      {_commit_file_queue exit OK}
     sto:      {DRIVERSTORE_IMPORT_NOTIFY_VALIDATE} 21:08:06.367
     inf:           Opened INF: 'C:\windows\System32\DriverStore\Temp\{1da86f7a-eb6b-2161-22c7-8a4526f1a767}\arduino.inf' ([strings])
     sig:           {_VERIFY_FILE_SIGNATURE} 21:08:06.387
     sig:                Key      = arduino.inf
     sig:                FilePath = C:\windows\System32\DriverStore\Temp\{1da86f7a-eb6b-2161-22c7-8a4526f1a767}\arduino.inf
     sig:                Catalog  = C:\windows\System32\DriverStore\Temp\{1da86f7a-eb6b-2161-22c7-8a4526f1a767}\arduino.cat
!    sig:                Verifying file against specific (valid) catalog failed! (0x800b0109)
!    sig:                Error 0x800b0109: A certificate chain processed, but terminated in a root certificate which is not trusted by the trust provider.
     sig:           {_VERIFY_FILE_SIGNATURE exit(0x800b0109)} 21:08:06.507
     sig:           {_VERIFY_FILE_SIGNATURE} 21:08:06.517
     sig:                Key      = arduino.inf
     sig:                FilePath = C:\windows\System32\DriverStore\Temp\{1da86f7a-eb6b-2161-22c7-8a4526f1a767}\arduino.inf
     sig:                Catalog  = C:\windows\System32\DriverStore\Temp\{1da86f7a-eb6b-2161-22c7-8a4526f1a767}\arduino.cat
     sig:                Success: File is signed in Authenticode(tm) catalog.
     sig:                Error 0xe0000242: The publisher of an Authenticode(tm) signed catalog has not yet been established as trusted.
     sig:           {_VERIFY_FILE_SIGNATURE exit(0xe0000242)} 21:08:06.597
!    sto:           Driver package signer is unknown but user trusts the signer.
     sto:           Driver package certificate was successfully installed.
     sto:      {DRIVERSTORE_IMPORT_NOTIFY_VALIDATE exit(0x00000000)} 21:08:54.511
     sto:      Verified driver package signature:
     sto:           Digital Signer Score = 0xFF000000
     sto:           Digital Signer Name  = <unknown>
     sto:      {DRIVERSTORE_IMPORT_NOTIFY_BEGIN} 21:08:54.521
     inf:           Opened INF: 'C:\windows\System32\DriverStore\Temp\{1da86f7a-eb6b-2161-22c7-8a4526f1a767}\arduino.inf' ([strings])
     sto:           Create system restore point:
     sto:                Description = Device Driver Package Install: Arduino LLC (www.arduino.cc) Ports (COM & LPT)
     sto:                Time        = 94ms
     sto:                Status      = 0x00000422 (FAILURE)
     sto:      {DRIVERSTORE_IMPORT_NOTIFY_BEGIN: exit(0x00000000)} 21:08:54.621
     sto:      Importing driver package files:
     sto:           Source Path      = C:\windows\System32\DriverStore\Temp\{1da86f7a-eb6b-2161-22c7-8a4526f1a767}
     sto:           Destination Path = C:\windows\System32\DriverStore\FileRepository\arduino.inf_amd64_neutral_844213a156728dfe
     sto:      {Copy Directory: C:\windows\System32\DriverStore\Temp\{1da86f7a-eb6b-2161-22c7-8a4526f1a767}} 21:08:54.631
     sto:           Target Path = C:\windows\System32\DriverStore\FileRepository\arduino.inf_amd64_neutral_844213a156728dfe
     sto:      {Copy Directory: exit(0x00000000)} 21:08:54.671
     sto:      {Index Driver Package: C:\windows\System32\DriverStore\FileRepository\arduino.inf_amd64_neutral_844213a156728dfe\arduino.inf} 21:08:54.671
     idb:           Registered driver store entry 'arduino.inf_amd64_neutral_844213a156728dfe'.
     idb:           Published 'arduino.inf_amd64_neutral_844213a156728dfe\arduino.inf' to 'C:\windows\INF\oem89.inf'
     idb:           Published driver store entry 'arduino.inf_amd64_neutral_844213a156728dfe'.
     sto:           Published driver package INF 'oem89.inf' was changed.
     sto:           Active published driver package is 'arduino.inf_amd64_neutral_844213a156728dfe'.
     sto:      {Index Driver Package: exit(0x00000000)} 21:08:54.861
     sto:      {DRIVERSTORE_IMPORT_NOTIFY_END} 21:08:54.861
     ndv:           No system restore point was set earlier.
     sto:      {DRIVERSTORE_IMPORT_NOTIFY_END: exit(0x00000000)} 21:08:54.871
     sto: {Stage Driver Package: exit(0x00000000)} 21:08:54.871
     ndv: Doing device matching lookup!
     inf: Opened INF: 'C:\windows\System32\DriverStore\FileRepository\arduino.inf_amd64_neutral_844213a156728dfe\arduino.inf' ([strings])
     inf: Saved PNF: 'C:\windows\System32\DriverStore\FileRepository\arduino.inf_amd64_neutral_844213a156728dfe\arduino.PNF' (Language = 0409)
     sto: Driver package was staged to Driver Store. Time = 49468 ms
     sto: Imported driver package into Driver Store:
     sto:      Filename = C:\windows\System32\DriverStore\FileRepository\arduino.inf_amd64_neutral_844213a156728dfe\arduino.inf
     sto:      Time     = 49873 ms
<<<  Section end 2014/10/09 21:08:55.121
<<<  [Exit status: SUCCESS]


>>>  [SetupCopyOEMInf - C:\windows\System32\DriverStore\FileRepository\arduino.inf_amd64_neutral_844213a156728dfe\arduino.inf]
>>>  Section start 2014/10/09 21:08:55.131
      cmd: "C:\Program Files (x86)\Arduino\drivers\dpinst-amd64.exe" /lm /sw /sa
     inf: Driver Store location: C:\windows\System32\DriverStore\FileRepository\arduino.inf_amd64_neutral_844213a156728dfe\arduino.inf
     inf: Published Inf Path: C:\windows\INF\oem89.inf
     inf: Opened PNF: 'C:\windows\System32\DriverStore\FileRepository\arduino.inf_amd64_neutral_844213a156728dfe\arduino.inf' ([strings])
     inf: Installing catalog arduino.cat as: oem89.CAT
<<<  Section end 2014/10/09 21:08:55.271
<<<  [Exit status: SUCCESS]


>>>  [Device Install (DiShowUpdateDevice) - USB\VID_2341&PID_00DF\5&11B1FABB&0&3]
>>>  Section start 2014/10/09 21:09:34.526
      cmd: "C:\windows\system32\mmc.exe" C:\windows\system32\devmgmt.msc
     dvi: {DIF_UPDATEDRIVER_UI} 21:09:34.536
     dvi:      No class installer for '?????恏?灋礄耂踞辂璃???????????礿???????恋?灏礄耂產??砀??芊莋????????礿????????'
     dvi:      No CoInstallers found
     dvi:      Default installer: Enter 21:09:34.546
     dvi:      Default installer: Exit
     dvi: {DIF_UPDATEDRIVER_UI - exit(0xe000020e)} 21:09:34.546
     ndv: {Update Driver Software Wizard for USB\VID_2341&PID_00DF\5&11B1FABB&0&3}
     ndv: {Update Driver Software Wizard exit(000004c7)}
<<<  Section end 2014/10/09 21:10:07.920
<<<  [Exit status: FAILURE(0x000004c7)]
回复 支持 反对

使用道具 举报

tuzuyao  见习技师

发表于 2014-10-9 21:33:57

怎么驱动显示是乱码
驱动错误.png
回复 支持 反对

使用道具 举报

mcholen  高级技师

发表于 2014-12-21 23:27:49

这个办法很实用啊
回复 支持 反对

使用道具 举报

amy.liao  高级技师

发表于 2015-3-9 16:58:04

原来是这么回事,谢谢楼主解答。
回复 支持 反对

使用道具 举报

myluckyy  中级技师

发表于 2015-5-10 16:15:29

电脑的问题真是千奇百怪,这样有可能解决,也有可能还是有问题。。 ps 为啥没有64位 win7 的
回复 支持 反对

使用道具 举报

aga168kk  学徒

发表于 2015-12-21 16:26:22

64位 win7的呢 哪里下载
回复 支持 反对

使用道具 举报

kaka  版主

发表于 2015-12-22 11:08:14

直接用驱动精灵安装驱动
回复 支持 反对

使用道具 举报

zhengx84  见习技师

发表于 2016-6-12 15:19:59

实用
回复 支持 反对

使用道具 举报

凌风清羽  版主

发表于 2016-6-30 22:04:34

看看
回复 支持 反对

使用道具 举报

studyeda  学徒

发表于 2016-12-15 11:58:02

问题好多,但我用WIN7英文片正常.
回复 支持 反对

使用道具 举报

liweilin  中级技师

发表于 2016-12-29 09:59:31

重装系统的路过
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
wifi气象站

硬件清单

btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2019 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail