我如何使用InnoSetup安装驱动程序?

我想用InnoSetup安装串口驱动程序。 我有inf文件,我可以通过设备pipe理器手动安装驱动程序,但我希望能够在我的安装程序中包含驱动程序,以便用户不必经历自己安装驱动程序的麻烦。

请参阅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 setup:使用rundll32或dpinst安装驱动程序?

在Windows 7及更高版本上使用InstallHinfSection似乎已经破碎或充满困难。 使它从一个批处理文件工作是困难的,使它从工作起来更困难。 DPINST似乎更可取,而且更简单。