Muszę zainstalować sterownik podczas procesu instalacji w InnoSetup
. W tym celu mam dwa pliki instalacyjne: .msi dla 32-bit/64-bit. Teraz w Win7 ten sterownik jest już dołączony, więc nie trzeba go instalować ponownie. Do tej pory zrobiłem to:sprawdź wersję systemu Windows w sekcji [Uruchom] pliku konfiguracyjnego InnoSetup
[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
Użytkownik może wybrać, czy chce zainstalować sterownik. Jeśli zdecyduje się to zrobić, prawidłowy sterownik działa. To działa dobrze. Teraz chcę wybrać, aby nie instalować sterownika, jeśli> = Win7 jest uruchomiony. Czytałem o OnlyBelowVersion: 6.1
ale wydaje się być w stanie zrobić coś takiego w sekcji [Run]
:
[Run]
... Check: IsWin64() and OnlyBelowVersion:6.1; ...
Jak mogę używać OnlyBelowVersion
(lub coś podobnego) w sekcji [Run]
?
Również chcę, aby upewnić się, że msi prowadzony jest we właściwym trybie (tryb 64bit dla systemów 64-bitowych). Bo myślę, że tak nie jest teraz. Czy można to wymusić? Dowiedziałem się o ArchitecturesInstallIn64BitMode=x64
, gdzie muszę to umieścić?
Fajnie, to działa idealnie. Na drugie pytanie: czy tak, to zwraca prawdę w wersji x64, czy gwarantuje również, że pliki wykonywalne i instalator działają w trybie 64-bitowym? – brimborium
Och, myślałem, że chcesz, aby instalator 'driver_64bit.msi' działał w systemach 64-bitowych, a nie instalator InnoSetup. Potem zaktualizuję odpowiedź ... – TLama
Cóż, najważniejszą częścią jest sterownik. Ale jeśli nie jest trudno dołączyć sam instalator w tym stanie, to dobrze. – brimborium