DPInst是驅動程式安裝架構DIFx(Driver Install Frameworks) 所提供的工具之ㄧ。使用方式很簡單。
以下說明是以FTDI的driver為例:
- 將ftdi的driver解壓縮到driver資料夾
- 到微軟下載wdk
- 安裝完wdk後,可在WinDDK\redist\DIFx\dpinst中看到二個資料夾MultiLin(提供多國語言),EngMui(提供特定語言,預設為英文,除非提供.mui檔)
- 在MultiLin提供三個資料夾x86,amd64,ia64
- 將x86內的dpinst.exe重新命名為x86.exe,將amd64內的dpinst.exe重新命名為x64.exe。將x86.exe和x64.exe複製到driver資料夾(現在執行x86或x64就會幫你安裝FTDI的driver了)
- 因為我想要安裝程式時,偷偷的替user安裝驅動(也就是不用秀出DPInst的視窗)。
- 所以在driver的資料夾建立一個dpinst.xml檔。
<?xml version="1.0"?> <dpInst> <!--- 不秀出視窗 --> <suppressWizard/> <quietInstallStrict/> <!--- 強迫安裝 --> <forceIfDriverIsNotBetter/> </dpInst>
- 在nsis中加入下面程式,即可自動判斷安裝32還是64位元的驅動
; Check OS is 32bit or 64bit !include "x64.nsh" !define FTDI_32_URL "$INSTDIR\driver\x86.exe" !define FTDI_64_URL "$INSTDIR\driver\x64.exe" Function installFTDI ${If} ${RunningX64} StrCpy $2 ${FTDI_64_URL} ${Else} StrCpy $2 ${FTDI_32_URL} ${EndIf} ExecWait $2 FunctionEnd
沒有留言:
張貼留言