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未經數字簽名時系統彈出“發現新硬件”窗口,並讓系統自動完成設備驅動程序的安裝,請參考我在本論壇發的“協作安裝程序應用一例”一帖。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章