【发布时间】:2012-10-31 10:59:56
【问题描述】:
我必须在InnoSetup 的安装过程中安装驱动程序。为此,我有两个 32 位/64 位的 .msi 安装文件。现在在Win7中,这个驱动已经包含了,所以我不需要再次安装它。到目前为止,我是这样做的:
[Tasks]
Name: "install_usb"; Description: "Install USB driver"; GroupDescription: "Drivers:";
[Files]
Source: "xy\driver\*"; DestDir: "{tmp}"
[Run]
Filename: "msiexec.exe"; Parameters: "/i ""{tmp}\driver_32bit.msi"""; StatusMsg: "Installing 32bit USB driver"; Check: not IsWin64(); Tasks: install_usb; Flags: skipifsilent
Filename: "msiexec.exe"; Parameters: "/i ""{tmp}\driver_64bit.msi"""; StatusMsg: "Installing 64bit USB driver"; Check: IsWin64(); Tasks: install_usb; Flags: skipifsilent
因此,用户可以选择是否要安装驱动程序。如果他选择这样做,正确的驱动程序就会运行。这工作正常。现在,如果 >=Win7 正在运行,我想选择不安装驱动程序。我读到了OnlyBelowVersion: 6.1,但我似乎无法在[Run] 部分做这样的事情:
[Run]
... Check: IsWin64() and OnlyBelowVersion:6.1; ...
如何在[Run] 部分使用OnlyBelowVersion(或类似名称)?
另外,我想确保 .msi 在正确的模式下运行(64 位系统的 64 位模式)。因为我认为,这不是现在的情况。有可能强制执行吗?我发现了ArchitecturesInstallIn64BitMode=x64,我必须把它放在哪里?
【问题讨论】:
标签: windows-7 64-bit driver inno-setup