我在安裝過程中必須安裝驅動程序InnoSetup
。爲此我有兩個.msi 32位/ 64位的安裝文件。現在在Win7中,這個驅動程序已經包含了,所以我不需要再次安裝它。到目前爲止,我做到了這一點:在InnoSetup配置文件的[Run]段中檢查Windows版本
[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
,我必須在那裏放置?
很酷,完美的作品。對於第二個問題:是的,這在x64版本中返回true,是否也保證可執行文件和安裝程序在64位模式下運行? – brimborium
哦,我以爲你只想要'driver_64bit.msi'安裝程序在64位系統上運行,而不是InnoSetup安裝程序本身。然後我會更新答案... – TLama
那麼,司機是重要的一部分。但是,如果在這種情況下也不難包括安裝程序本身,那麼這是一件好事。 – brimborium