フォルダをインストールした後に関数を呼び出そうとしましたが、InstallEnv
関数が複数回呼び出されているようです。これらのファイルをすべてインストールした後で一度だけ呼び出す方法はありますか? Run
セクションを使用することはできません。戻りコードでエラーをキャッチしたいからです。Inno Setup各ファイルにAfterInstall関数が呼び出されました
Source: "InputFiles\virtualenv-1.8.2\*"; DestDir: "{tmp}/virtualenv"; \
Flags: recursesubdirs; AfterInstall: InstallEnv;
両方の質問を見ると、必要なものを['CurStepChanged'](http://www.jrsoftware.org/ishelp/index.php?topic=scriptevents&anchor=CurStepChanged)イベントで実行したくないのですか? 'CurStep'パラメタが' ssPostInstall'になったら? – TLama
私は実際に月曜日にそれを試みましたが、実行がゼロ以外のコードを返した場合、インストールを失敗(または中止)したいと思っています。しかし、 'WizardForm.Close;'コードは 'ssPostInstall'では動作しません(実際のインストールの後である可能性があります)。 – Amaranth
私は参照してください。 'InstallEnv'プロシージャの中の何かがうまくいかない場合、インストールプロセスを中止する方法(およびロールバックの変更)を探しています。まあ、最後にインストールされたファイルの名前には依存しません。何とか予測できないと感じるからです。別のオプションは、次にインストールされる '[Files]'エントリの 'BeforeInstall'手続きを書くかもしれません。あるいは、 'InstallEnv'プロシージャのためのパスカウンタを作成し、ファイルの総数をプリプロセッサで決定してください。プロシージャが呼び出されるたびにそのカウンタをインクリメントし、その定数値に達すると最後のファイルになります。 – TLama