installation - 创新设置 : install drivers with rundll32 or dpinst?

标签 installation inno-setup drivers

我正在尝试使用 Inno setup 安装驱动程序,看起来(至少)有两种方法可以做到这一点:将 DPinst.Exe 添加到 .inf 文件或运行 rundll。

我知道 x86 和 x64 有两个不同版本的 DPinst,是否有不同版本取决于操作系统(我需要支持 XP、Vista 和 7)

这些方法需要管理员权限吗?

推荐哪种方法?

最佳答案

您对所有版本的操作系统使用相同的 DPInst 版本;唯一的区别是 32 位与 64 位。 WDK 附带 32 位和 64 位版本。

就个人而言,这就是我所做的(在 InnoSetup 上):

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

使用 run32dll setupapi.dll,InstallHinfSection ...已过时,除非您有一些非常具体的需求,否则通常不建议使用。

关于installation - 创新设置 : install drivers with rundll32 or dpinst?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8864549/

相关文章:

inno-setup - Inno Setup - 如何安装 Windows Update 离线安装程序

inno-setup - 控制自定义页面在特定任务后显示

odbc - Foxpro 是否有新的 ODBC 选项?

c++ - 从 'BYTE *' 到 'ULONG' 的指针截断

c# - 如何保留内存数据结构以便以后在单元测试中使用它

windows - Windows 上的 Apache

c# - 使用 mysql c# 创建安装程序包

inno-setup - Inno Setup中调用exe卸载

c++ - 将十六进制数据写入可执行文件不起作用? C++

android - 在 Gingerbread 上安装本地 .apk 文件的 Intent