XP 系统发现新硬件问题的解决方法

第一篇文章,不知道怎么开始,但是很想把现在知道的点点记下来,以后做其他东西了,或许这些再也想不起来了。

 

 

具体过程如下:

当时我们拿到别的公司开发好的INF还有SYS文件,但是我们要修改INF实现我们自己需求(也就是设备显示的名称),我们会首先通过SetupCopyOEMInf()函数预安装驱动,一开始改过之后每次插入设备,电脑都会弹出发现新硬件向导,通过多次和发INF文件的工程师沟通,得到个关键子Test-signing,Google一下

找到如下信息:

 

http://msdn.microsoft.com/en-us/windows/hardware/gg487328

 

结合selfsign_example.bat----------------这个文件如果你安装过WINDDK 会在src\general\build\driversigning目录下找到,其过程一目了然。

自己总结了下:

1.通过MakeCert.exe 得到一个证书文件,其名称可以在MakeCert.exe 的参数中设置 假设为:Test.cer

       Makecert -r -pe -ss PrivateCertStore -n "CN=Usb(WHMTest)" TestCert.cer

2.调用Inf2Cat.exe 将你修改的的inf 转换为.Cat文件。传入的参数可以是.inf所在的文件夹,该exe会把文件下的所有inf的转换为cat(当然你inf里所使用的sys文件也要在相对的路径下)

        inf2cat.exe /driver:32inf /os:XP_X86,7_X86 (后面参数表示xp,和win732系统的签名)

3.调用signtool.exe 将2步产生的.cat文件签名

               SignTool sign /s PrivateCertStore 32inf\*.cat(此*.cat 文件会在第三步产生)
              SignTool sign /s PrivateCertStore 32inf\*.cat
              SignTool sign /s PrivateCertStore 32inf\*.cat

4.将1产生的证书文件安装到系统

certmgr.exe -add -c "Test.cer" -s -r localMachine root

certmgr.exe -add -c "Test.cer" -s -r localMachine trustedpublisher

 

第4步过程结束之后,在次调用SetupCopyOEMInf()函数,插入设备,驱动就好完成自动安装。

 

以上也是驱动安装包制作的核心过程。

 

PS:以上exe都可以在WINDDK的安装目录下找到,不明白的在看看这个文件把,selfsign_example.bat。该文件我已上传。(另外还包含Certmgr.exe,KMCS_Walkthrough.doc (微软文档))。

 

话说这位大神早就写过类似的东西http://blog.sina.com.cn/s/blog_4b650d650100p7bt.html,枉我把他所要的博文都看了一遍,当时竟然没注意。

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值