でのインストール プロセス中にドライバをインストールする必要がありますInnoSetup
。そのために、32 ビット/64 ビット用の 2 つの.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; ...
OnlyBelowVersion
セクションで(または同様のものを)どのように使用でき[Run]
ますか?
また、 .msiが適切なモード (64 ビット システムの場合は 64 ビット モード) で実行されていることを確認したいと思います。今はそうじゃないと思うから。それを強制することは可能ですか?について知ったのですArchitecturesInstallIn64BitMode=x64
が、どこに入れればいいですか?