質問へのコメントの 1 つが示唆するように、必要な言語を Inno Setup に統合するだけでよい場合があります。Languages
これを行うには、次のセクションを追加します。
[Languages]
Name: "en"; MessagesFile: "compiler:Default.isl"
Name: "nl"; MessagesFile: "compiler:Languages\Dutch.isl"
これにより、UI を英語とオランダ語の両方で表示できます。それに応じて他の翻訳を追加することができます。
Windows インストーラーが "ネストされたインストール" (MSI から MSI を実行すること) を許可しないという事実は、煩わしい場合があります。ただし、MSI インストーラーを UI のない (= サイレント) Inno Setup にパッケージ化し、Inno Setup で MSI を 1 つずつ実行することを検討することもできます。
編集
これは、依存関係をインストールするためにEXEファイルを実行する方法を示しています。ソフトウェアの後にインストールされる場合があることに注意してください。ソフトウェアの前にそれらをインストールする必要がある場合は、ちょっとした Pascal Script をコーディングする必要があるかもしれません - これはヘルプ ファイルで説明されています。
[Files]
DestDir: {tmp}; Source: .\Files\sample.exe; Flags: deleteafterinstall;
[Run]
Filename: {tmp}\sample.exe; StatusMsg: Installing prerequisite
これにより、ファイル.\Files\sample.exe
がセットアップに含められ、インストール時に TEMP フォルダーにコピーされ、セットアップの完了後に削除されます。次に、ファイルをコピーした後、実行TEMP\sample.exe
され、終了するのを待ちます。
EDIT 2
セクション
内のアイテムの順序に関するOPのコメントについて[Run]
:
次の 2 つのケースが考えられます。
- Inno Setup を使用してソフトウェアの実際のインストール (ファイル、レジストリ エントリなどのコピー) を実行し、さらに前提条件のインストーラーを実行する必要があります。
- ソフトウェア用の別のインストーラーも用意されており、前提条件とソフトウェアのインストーラーを実行するには、Inno Setup が必要です。
ケース 1 の場合:セクションに
EXE ファイルを配置する必要はまったくありませんが[Run]
、多くのセットアップでチェックボックス (「XYZ を今すぐ実行しますか?」 )。その場合、EXE に次の行を使用します。
Filename: {app}\yourprogram.exe; StatusMsg: Run the application; Flags: postinstall skipifsilent unchecked; Description: Run the application now
ケース 2 の場合:依存関係に従って
、セクション内のエントリを並べ替えます。[Run]
つまり、最初のエントリは他のユーザーが依存するエントリであり、最後のエントリはアプリケーションのセットアップです。しかし、エントリが処理される順序についてはわかりません。
これは、セクションのドキュメントで回答される場合があります[Run]
。迷ったときは、Jordan Russel (Inno Setup の作者) にアドバイスを求めてみてください。