双击U盘,”找不到应用程序”的原因与解决办法
最近碰到插入U盘的情况下都出现"找不到应用程序"的错误提示,如上图所示. 感觉比较奇怪,也就删除相应的注表键值后就修复了,没有去细查原因.今天在对一个U盘做量产后换了另一个U盘上去后又出现这个问题.于是仔细分析检查了下,终于找到原因和解决的办法了.
问题:
双击U盘时跳出"找不到应用程序"?
分析:
前面一会儿使用的U盘都正常可认,直接双击即可打开内容.把原来的一个U盘拔出换一个U盘后再双击时则就会出现"找不到应用程序"的错误!
测试了下双击前面几个硬盘本身的几个盘符如C盘或D盘皆正常,唯有U盘的盘符双击才会跳出错误来. 看来不像是Autorun.inf的问题,也不像病毒的问题.因为如果是自运行的病毒,默认其它盘符也会出现错误.
后来查看了下当前WIN7的自动播放选项,果然是允许自动播放打勾的. 再把之前的U盘接上去之后发现有点问题了: 因为这个U盘是我原来做过USB-CDROM量产的,原先在制作时将一个GHOST光盘的可启动引导ISO写到一个分区中,使这个U盘分成一个只读的引导CD-ROM区域和一个可写的数据区域,这样在这个U盘一旦电脑上接上后将会看到有2个盘符,其中一个就是那个ISO的光盘内容,其中就有一个自动播放加载的Autorun的应用.
看来问题是出在这个盘符上了,到注册表中去查看相关的键值,果然如此,在MountPoints2的下面除了正常的C和D等盘符外,多出来其中U盘加载后的2个盘符,而这个加载自动播放对应的盘符G盘下有Autorun的相关键值.
因为这个Autorun相关的键值存在,所以当这个U盘拔除后,另一个U盘接上正好使用了这个盘符,而系统在找不到之前的U盘的自动播放项后就会报错"找不到应用程序"了!!!
解决:
- 打开注册表,直接在WIN7下按WIN+R调出输入 regedit回车即可打
- 直接展开如下的注册表项:
HKEY_CURRENT_USER->Software->Microsoft->Windows->CurrentVersion->Explorer->MountPoints2 - 把这U盘盘符的项全部删除即可(直接删除树中的分支即可,除了CPC之外全部可以删除)
- 最好到控制面板的硬件项那关闭设备"自动播放"功能