6

Inno Setup を使用してインストーラーを作成しましたが、いくつかのファイルを実行した後にコンピューターを再起動する必要があります。

だから、私はコードを持っています:

....
[Files]
....
[Run]
Filename: firstfile
RESTART
Filename: secondfile
....

これは可能ですか?サンプル スクリプトgithubを 1 つ見つけましたが、この DetectAndInstallPrerequisites 関数の使用方法がわかりません。誰かが簡単な例をアドバイスまたは提供できる場合、私は非常に感謝しています

4

1 に答える 1

6

Inno に含まれているCodePrepareToInstall.issサンプル スクリプトをご覧ください。再起動を調整し、その後インストールを自動的に再開する方法を示します。(インストールがより複雑な場合や、さらにユーザー入力を求められる場合は、さらに変更を加えるか、さらに値を保存する必要がある場合があります。)

この例の欠落しているリンクは、(メインセクションが処理される前に実行されるため) 適切なファイルを取得し、実際にファイルを実行するためにDetectAndInstallPrerequisitesを使用して関数を埋める必要があることです。これがサブインストーラーの場合は、無条件に再起動を要求するのではなく、その終了コードをチェックして、再起動が実際に必要かどうかを判断できます。ExtractTemporaryFile[Files]Exec(ExpandConstant('{tmp}\yourfile.exe'), ...)

このコードは再起動後に再度実行されることに注意してください。そのため、サブインストールが成功したことを検出して再実行をスキップする方法も必要です。通常、これは、インストールされているサブコンポーネントのバージョンを検出することによって行われます。

于 2013-11-05T19:46:44.793 に答える