zoukankan      html  css  js  c++  java
  • usb驱动自安装程序的制作

    这两天询问usb驱动安装程序制作的人很多,我有幸做成过一个这样的安装程序。虽然这两天测试也有人回复说还有问题,但我还是对我的安装程序充满信心。

    我也曾在本论坛回答过一些朋友的帖子,但回复成功的似乎还没有。这也很正常,毕竟影响安装的因素太多。

    我现在简单介绍一下usb驱动安装程序的制作过程,希望能给有这方面需求的朋友一点启示,也希望这方面的大拿能给与批评指正。


    1,准备inf和sys
    新建一个目录,比如d:\\DrvInstDir,把你写好的inf和sys都放在此目录下。

    2,验证你的inf
    把系统清理干净,就如同你从来没在这台机器上装过你的驱动程序一样。然后,手工安装你的设备,验证用你的inf是否能正确安装你的sys。注意,这儿有特殊要求,就是在安装过程中,指定了d:\\DrvInstDir为搜寻目录之后,系统就能自动找到sys文件并执行安装,而不会再要求你指定sys文件的位置。如果你的inf满足此要求,则第二步通过;否则请修改你的inf文件,直到它能满足要求为止。

    3,编写安装程序
    简单做的话,只需调用SetupCopyOEMInf即可。比如:
    SetupCopyOEMInf("d:\\\\DrvInstDir\\\\xxxx.inf",NULL,SPOST_PATH,0,NULL,0,NULL,NULL);

    4,再次将系统清理干净

    5,运行安装程序
    SetupCopyOEMInf会在%windir%\\inf目录下生成一个oem*.inf。找找看有没有跟你的inf内容完全一致的oem*.inf,如果有,则成功,可以继续往下走。否则,请退回到前面,察看哪儿出了问题。

    6,插上usb设备,验证安装程序是否生效
    注意,在2k下,插上usb设备后,如果设备硬件id和inf中的硬件id完全匹配(注意,如果是其他匹配形式,比如设备硬件id匹配inf中的兼容id或者设备兼容id匹配inf中的硬件id,那么我不保证上述方法有效),那么系统会自动将sys文件从d:\\DrvInstDir下复制到%windir%\\System32\\Drivers目录下,并对其进行安装。如果在xp下,且inf和sys没有经过数字签名,那么系统会弹出“发现新硬件”窗口,你只需连续点击窗口上的“下一步”按钮即可完成驱动程序的安装。至于在xp下,如何避免inf和sys未经数字签名时系统弹出“发现新硬件”窗口,并让系统自动完成设备驱动程序的安装,请参考我在本论坛发的“协作安装程序应用一例”一帖。

  • 相关阅读:
    MySQL 分页优化中的 “ INNER JOIN方式优化分页算法 ” 到底在什么情况下会生效?
    SDL + OpenGL使用笔记
    多进程和单进程区别
    sed 处理
    window.postMessage
    java List集合分页
    PostgreSQL 10.0 preview 性能增强
    PostgreSQL 10.0 preview 性能增强
    Android Studio快捷键动态演示
    Android Studio快捷键动态演示
  • 原文地址:https://www.cnblogs.com/spinsoft/p/2502789.html
Copyright © 2011-2022 走看看