5

セットアップ中に次のことを行う inno の最新バージョンを使用しています。

  1. 依存関係チェックを実行して、何がインストールされているかを確認します
  2. まだインストールされていない依存関係をインストールします (.net、SQL サーバー、directx など)
  3. [Files] セクションからアプリケーションとファイルをインストールします (wpReady)
  4. 以前にインストールされたデータベースの SQL Server をチェックし、テーブルなどを作成/更新します

手順 [4] では、データベースやテーブルなどを作成します。これは、SQL Server が既にインストールされている場合にのみ機能します。そのため、手順 [2] で実行されます。

出力ディレクトリには、作成された setup.exe が含まれ、上記の手順 [1、2、および 4] に必要なファイルを含む追加の依存関係フォルダーを手動で配置します。

wpReadyこれはうまく機能しますが、すべての依存関係を含み、上記のステップ [1] の前と前に依存関係を抽出する単一の exe のみを作成したいと思います。

依存関係はセクションにありますが、セットアップがすべてのフォームを通過してファイルのインストールを試みた後、セットアップがメッセージを [Files]実行するまで、これらのファイルは抽出されません。wpReady

setup.exe に必要なものを追加する以下を使用します。

[Files]
Source: Output\Dependencies\*; DestDir: {tmp}; Flags: deleteafterinstall

ファイルを一時ディレクトリに抽出する最良の方法は何ですか、wpReadyまたは最初にアクションを実行しwpReadyてから依存関係をインストールする必要があります(理想的ではありません)。

4

2 に答える 2

11

ExtractTemporaryFile()イベント関数内の関数を使用して、セクションPrepareToInstallから任意のファイルを以前に抽出し、セットアップが完了すると削除されます。スクリプティングと Inno Setup が提供するさまざまなフックを組み合わせることで、ほぼすべてを実現できます。[Files]{tmp}

Inno Setup ヘルプの「Pascal Scripting」セクション、特に「Support Functions Reference」を参照してください。などのドキュメントがありますExtractTemporaryFile()

于 2009-04-28T13:27:35.110 に答える
-2

{tmp}

セットアップまたはアンインストールで使用される一時ディレクトリ。これは、ユーザーの TEMP 環境変数の値ではありません。これは、起動時にセットアップまたはアンインストールによって作成されるユーザーの一時ディレクトリのサブディレクトリです (「C:\WINDOWS\TEMP\IS-xxxxx.tmp」のような名前で)。このディレクトリ内のすべてのファイルとサブディレクトリは、セットアップまたはアンインストールが終了すると削除されます。セットアップ中、これは主に [Run] セクションで実行されるが、インストール後には必要ないファイルを抽出するのに役立ちます。

于 2010-12-11T18:50:17.123 に答える