2010-06-22 87 views
0

我嘗試在Windows 7 64位系統環境中安裝驅動程序,通過使用CMD和NSIS安裝程序從腳本在Windows Vista上從NSIS安裝INF(驅動器)或更大

從CMD我比如做製作:

InfDefaultInstall C:\kit\driver\win7-64\my_driver.inf 

從NSIS怎麼辦?(這是從腳本行):

Exec 'InfDefaultInstall $INSTDIR\driver\win7-64\my_driver.inf' 

INF文件應該在Windows \ System32下複製一個.sys文件\ drivers文件夾,並寫一些東西註冊表

的問題是,它發生在cmd中,它不會如使用NSIS安裝(我的意思是它看起來像它這樣做,但.sys文件不會去的地方應該去)

發生

此外,在卸載我從NSIS腳本做:

Delete '$WINDIR\system32\drivers\my_driver.sys' 

這個命令不會刪除sys文件(其中又以它應該,因爲我跑的安裝後,CMD命令行的)

= =

所有測試完成使用管理員帳戶,禁用UAC運行,也嘗試過右單擊運行作爲安裝程序管理員,但它只是不會複製

==

我想這在Windows XP上

Exec 'rundll32 syssetup,SetupInfObjectInstallAction DefaultInstall 128 $INSTDIR\driver\win7-64\my_driver.inf' 

和完美的作品(從CMD和NSIS腳本)

也試過Win7上這個命令我得到了相同的工作不結果。 也試過它在Vista x86上,所以我不認爲這是一個體繫結構問題,但像權限,或與UAC有關(雖然UAC未啓用)

回答

1

我懷疑這對你的情況很重要,但你應該被引用的路徑:Exec 'InfDefaultInstall "$INSTDIR\driver\win7-64\my_driver.inf"'

您應該包括x64.nsh文件,就調用DisableX64FSRedirection宏(你可能也想用$ SYSDIR而不是$ WINDIR \ system32)下

爲InfDefaultInstall命令去,也許當前/工作目錄很重要,你可以使用SetOutPath將其設置爲nsis

+0

如果我嘗試引用,我收到一條錯誤消息,說不能安裝驅動程序與確定按鈕(cmd和nsis太) – 2010-06-22 18:50:00

+0

嗯,我認爲$ INSTDIR可以由用戶更改,所以除非InfDefaultInstall有特殊的命令行處理,你可能遇到空間 – Anders 2010-06-22 18:58:07

+0

我認爲問題是因爲我沒有使用DisableX64FSRedirection宏..因爲它現在工作 – 2010-06-25 08:21:16

相關問題