[英]install inf (driver) from nsis on windows vista or greater
我嘗試使用cmd和由腳本制作的nsis安裝程序在Windows 7 x64環境中安裝驅動程序
從cmd我做例如:
InfDefaultInstall C:\kit\driver\win7-64\my_driver.inf
從nsis我做(這是腳本中的行):
Exec 'InfDefaultInstall $INSTDIR\driver\win7-64\my_driver.inf'
inf文件應將Windows \\ system32 \\ drivers文件夾中的.sys文件復制並在注冊表中寫入一些內容
問題是,它發生在cmd中,並且如果使用nsis安裝程序也不會發生(我是說它看起來像是在做,但是.sys文件沒有放在應該去的位置)
另外,在卸載時我從nsis腳本執行:
Delete '$WINDIR\system32\drivers\my_driver.sys'
此命令不會刪除sys文件(該文件應移至應有的位置,因為安裝后我運行了cmd line命令)
==
使用管理員帳戶運行的所有測試(禁用了UAC)也已嘗試在安裝程序上以admin身份右鍵單擊運行,但不會復制它
==
我在Windows XP上嘗試過
Exec 'rundll32 syssetup,SetupInfObjectInstallAction DefaultInstall 128 $INSTDIR\driver\win7-64\my_driver.inf'
並完美運行(來自cmd和nsis腳本)
也嘗試在win7上使用此命令,但我卻無法正常工作。 還可以在vista x86上進行嘗試,因此我不認為這是體系結構問題,而是類似權限或與uac有關的問題(盡管未啟用uac)
我懷疑這是否對您Exec 'InfDefaultInstall "$INSTDIR\\driver\\win7-64\\my_driver.inf"'
,但是您應該引用路徑: Exec 'InfDefaultInstall "$INSTDIR\\driver\\win7-64\\my_driver.inf"'
等
您應該包括x64.nsh文件並調用DisableX64FSRedirection宏(您可能還想使用$ sysdir而不是$ WINDIR \\ system32)
就InfDefaultInstall命令而言,也許當前目錄/工作目錄很重要,您可以使用SetOutPath在nsis中對其進行設置
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.