次の方法で共有


ファイルのコスト

コストは、インストールのディスク領域の合計要件を決定するプロセスです。 ファイル コストプロセスで計算される要素には、ファイルがインストールまたは削除されるディスク領域の量、およびレジストリ エントリ、ショートカット、およびその他のファイルによって占有されるディスク領域の量が含まれます。 上書きされる予定の既存のファイルも、ディスク コストの合計で計算されます。

合計コストは、コンポーネントごとに 基準で累積され、ローカル コスト、ソース コスト、および削除コストの 3 つの個別の部分で構成されます。 これらのパーツは、コンポーネントがローカルにインストールされている場合、ソース メディアから実行するためにインストールされている場合、または削除された場合に発生するディスク コストに対応します。

ファイルのインストールコストに関係するすべての計算は、ファイルのインストールまたは削除先のディスク ボリュームによって異なります。 コンポーネントに関連付けられているディレクトリが変更されるたびに、そのコンポーネントによって制御されるインストール ファイルのコストを再計算する必要があります。 たとえば、ディレクトリの変更はボリュームの変更を意味する可能性もあるため、クラスター化されたファイル サイズを再計算する必要があります。 さらに、新しいディレクトリをチェックして、上書きされる可能性のある既存のファイルを考慮する必要があるかどうかを判断する必要があります。

CostInitialize アクションが呼び出されたら、FileCost アクションを呼び出す必要があります。 CostInitialize アクションは、標準インストール アクションに関連するディスク コストを動的に計算するインストーラーの内部ルーチンを初期化します。 現時点では、他の動的なコスト計算は行われません。

次に、CostFinalize アクションを呼び出す必要があります。 このアクションにより、すべてのコスト計算が完了し、コンポーネント テーブルを通じて原価データを使用できるようになります。

CostFinalize アクションの実行が完了すると、コンポーネント テーブルが完全に初期化され、必要に応じて、SelectionTree コントロールを含むユーザー インターフェイス ダイアログ ボックス シーケンスを開始できます。 ユーザー インターフェイス ダイアログ ボックスには、Feature テーブル内の任意の機能の選択状態または移動先ディレクトリをユーザーに変更するオプションが用意されている場合があります。 プロセスは、コンポーネントの選択状態が変わると似ています。ただし、この場合、変更されたコンポーネントの動的コストのみが再計算されます。

ユーザー インターフェイスで機能の選択が完了したら、InstallValidate アクションを呼び出す必要があります。 このアクションは、コストが発生したすべてのボリュームにインストールに十分な領域があることを確認します。