簡體   English   中英

如何使用InnoSetup安裝驅動程序?

[英]How can I install a driver using InnoSetup?

我想使用InnoSetup為串口安裝驅動程序。 我有inf文件,我可以通過設備管理器手動安裝驅動程序,但我希望能夠在我的安裝程序中包含驅動程序,以便用戶不必經歷自己安裝驅動程序的麻煩。

請參閱MSDN上的InstallHinfSection 該文檔還提到了如何通過調用“Rundll32.exe”來調用安裝。 可能你會得到這樣的東西:

[Files]
..
Source: "driver\my_x86driver.inf"; DestDir: {app}\driver;
Source: "driver\my_x86driver.sys"; DestDir: {app}\driver;

[Run]
..
Filename: {sys}\rundll32.exe; Parameters: "setupapi,InstallHinfSection DefaultInstall 128 {app}\driver\my_x86driver.inf"; WorkingDir: {app}\driver; Flags: 32bit;


請注意,您可能需要在64位系統中以64位模式運行安裝程序才能安裝驅動程序:

[Setup]
..
ArchitecturesInstallIn64BitMode=x64 

您還可以根據機器架構放置檢查以運行.inf文件的版本(例如, Check: Is64BitInstallMode )。

這是一個更好的答案: Inno設置:使用rundll32或dpinst安裝驅動程序?

在Windows 7及更高版本上使用InstallHinfSection似乎要么已經破解,要么充滿困難。 從批處理文件開始工作很困難,因為使用innosetup工作更加困難。 DPINST似乎更可取,而且更簡單。

我用過這樣的dpinst:

 [Files]    
Source: "Source\dpinst\dpinst32.exe"; DestDir: "{app}\driver"; DestName: dpinst.exe; Check: not IsWin64; Flags: ignoreversion
Source: "Source\dpinst\dpinst64.exe"; DestDir: "{app}\driver"; DestName: dpinst.exe; Check: IsWin64; Flags: ignoreversion

[Run]
Filename: "{app}\driver\dpinst.exe"; Parameters: "/A /LM";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM