我正在尝试使用 DPInst.exe 和 Inno Setup 安装 64 位驱动程序。当我执行安装程序时,DPInst 会启动,然后显示错误“DPInst.exe 无法在您当前的操作系统上执行”。这让我觉得我获取了 32 位版本而不是 64 位版本的 DPInst.exe,但是如果我等到安装程序完成,我可以手动运行 DPInst,它执行得很好并安装了驱动程序。
这是我的 Inno Setup 脚本的相关部分:
[Files]
Source: "...DPInst.exe"; DestDir: {app}\Drivers; Flags: ignoreversion
[Run]
Filename: {app}\Drivers\DPInst.exe; WorkingDir: {app}\Drivers;
这看起来很简单,所以我不知道我在这里缺少什么。如果我在 Inno Setup 之外运行它就可以工作,所以我不确定为什么当它在 Inno Setup 内部运行时我会收到关于我当前操作系统的错误。
有任何想法吗?
更新:在周末,机器执行了 Windows 更新并安装了 Win 7 SP1。现在,当从 Inno Setup 调用 DPInst 时,它可以工作了。然后我将机器重新映像回 SP1 之前的版本,但它再次失败。我检查了 DPINST.log 并发现了这个:
INFO: ****************************************
INFO: 11/25/2013 13:43:54
INFO: Product Version 2.1.0.0.
INFO: Version: 6.1.7600
INFO: Platform ID: 2 (NT)
INFO: Service Pack: 0.0
INFO: Suite: 0x0100, Product Type: 1
INFO: Architecture: AMD64.
INFO: Interactive Windows Station
INFO: Command Line: '"D:\Program Files\Digital Audio Corporation\MicroDAC 5\Drivers\DPInst.exe"'
INFO: DPInst is not multi-lingual.
INFO: ****************************************
INFO: Current working directory: 'D:\Program Files\Digital Audio Corporation\MicroDAC 5\Drivers'
INFO: Running on path 'D:\Program Files\Digital Audio Corporation\MicroDAC 5\Drivers'
INFO: No valid 'dpinst.xml' file provided.
ERROR: DPInst.exe not supported on current OS.
INFO: Returning with code 0x80000000
INFO: 11/25/2013 13:43:56
INFO: ****************************************
INFO: 11/25/2013 13:44:42
INFO: Product Version 2.1.0.0.
INFO: Version: 6.0.6000
INFO: Platform ID: 2 (NT)
INFO: Service Pack: 0.0
INFO: Suite: 0x0100, Product Type: 1
INFO: Architecture: AMD64.
INFO: Interactive Windows Station
INFO: Command Line: '"D:\Program Files\Digital Audio Corporation\MicroDAC 5\Drivers\DPInst.exe" '
INFO: DPInst is not multi-lingual.
INFO: ****************************************
INFO: Current working directory: 'D:\Program Files\Digital Audio Corporation\MicroDAC 5\Drivers'
INFO: Running on path 'D:\Program Files\Digital Audio Corporation\MicroDAC 5\Drivers'
INFO: No valid 'dpinst.xml' file provided.
INFO: Wizard cancelled by user on welcome page.
INFO: Returning with code 0x80000000
INFO: 11/25/2013 13:44:44
请注意,版本字段从 6.1.7600 变为 6.0.6000。第一次运行来自 Inno Setup 失败(注意错误),第二次运行是我手动运行它时。“版本”字段代表什么?为什么安装 SP1 会产生影响?
谢谢,
杰森