2012-01-14 149 views
4

我想安装与Inno安装驱动程序,它看起来像有(在leas)两种方式来做到这一点:添加DPinst.Exe到或运行rundll对.inf文件。Inno setup:使用rundll32或dpinst安装驱动程序?

我知道有两个不同版本的DPInst的用于x86和x64,根据不同的OS(我需要支持XP,Vista和Windows 7)

我需要这些方法的管理权限上是有不同的版本?

推荐哪种方法?

回答

3

对所有版本的操作系统使用相同的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 ...是过时的,一般不推荐,除非你有一些非常具体的需求。

+0

虽然你怎么实际运行它?如果我打电话dpinst.exe我得到一个ShellExec错误。你能够发布你的.iss文件的所有相关部分吗? – NickG 2015-02-20 12:09:51

+0

这将是太多的努力。确保你的路径是正确的,等等。InnoSetup日志记录可以提供帮助,如果最糟糕的情况变得更糟,请尝试看看它对Sysinternals Process Monitor有什么作用。但是,真的,我怀疑你在某个地方有一个错字。 – Ilya 2015-02-21 11:56:49

相关问题