mickey 发表于 2013-1-7 13:05:03

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

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

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

可能有人在电脑上第一次使用Arduino时会遇到下面的问题(如图)
https://images.cnitblog.com/blog/187718/201212/27162833-1de5cf6d73e64d92b3e7ea209984bb31.png
提示系统无法找到系统文件
我就遇到了这样的问题,折腾了一晚上问题终于得到了解决,下面我把问题原因和解决方法和大家分享。
问题原因:
我们可以打开 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' ()
!    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' ()
这一段记录的意思是无法找到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 发表于 2013-12-21 11:10:14

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

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


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

>>>
>>>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' ()
   inf: Opened INF: 'C:\windows\System32\DriverStore\FileRepository\mdmcpq.inf_amd64_neutral_b53453733bd795bc\mdmcpq.inf' ()
   inf: Opened INF: 'C:\windows\System32\DriverStore\FileRepository\usb.inf_amd64_neutral_efc1d9d1a972acd0\usb.inf' ()
   inf: Opened INF: 'c:\program files (x86)\arduino\drivers\arduino.inf' ()
   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   -
   flq:                SourceFile   -
   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' ()
   inf:      Opened INF: 'C:\windows\System32\DriverStore\FileRepository\mdmcpq.inf_amd64_neutral_b53453733bd795bc\mdmcpq.inf' ()
   inf:      Opened INF: 'C:\windows\System32\DriverStore\FileRepository\usb.inf_amd64_neutral_efc1d9d1a972acd0\usb.inf' ()
   inf:      Opened INF: 'C:\Users\zuyao.tu\AppData\Local\Temp\{78dfa8e9-89ab-485a-9e14-f933cd137877}\arduino.inf' ()
   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   -
   flq:                     SourceFile   -
   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' ()
   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' ()
   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' ()
   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
<<<


>>>
>>>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' ()
   inf: Installing catalog arduino.cat as: oem89.CAT
<<<Section end 2014/10/09 21:08:55.271
<<<


>>>
>>>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
<<<

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

怎么驱动显示是乱码

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 的 :lol:lol:lol

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

重装系统的路过:hug:

金名1 发表于 2019-11-23 23:07:40

请问我这个是什么原因
项目使用了 924 字节,占用了 (2%) 程序存储空间。最大为 32256 字节。
全局变量使用了9字节,(0%)的动态内存,余留2039字节局部变量。最大为2048字节。
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x96
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x96
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x96
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x96
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x96
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x96
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x96
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x96
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x96
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x96
上传出错。查看http://www.arduino.cc/en/Guide/Troubleshooting#upload 获取建议。

霜花的姬 发表于 2020-1-17 22:31:00

mickey 发表于 2013-1-7 13:05
最近一段时间,出现不少客户使用UNO无法安装驱动,我们首先怀疑产品问题,寄回测试又没有任何问题,后来通 ...

下载了那个什么解压文件,还是不行啊
页: [1]
查看完整版本: Arduino无法安装驱动找不到指定文件问题的解决方法