ICE18
ICE18 は、コンポーネントのキー パスとして使用される空のディレクトリが CreateFolder テーブルに指定されていることを検証します。
Component テーブルの KeyPath 列が Null の場合、Directory_ 列に指定されているディレクトリがそのコンポーネントのキー パスになります。 インストーラーによって作成されるフォルダーは空になると削除されるため、インストーラーが毎回インストールを試行することを防ぐには、このフォルダーを CreateFolder テーブルに指定する必要があります。
SystemFolder ディレクトリをコンポーネントのキー パスにしないでください。 このフォルダーはすべてのオペレーティング システムに存在するため、コンポーネントが存在するかどうかに関係なく、インストーラーが常にキー パスを検出します。 この場合、キー パスはファイル、レジストリ エントリ、または ODBC データ ソースにする必要があります。
検証を実行するとき、ICE18 は最初に次のすべてが当てはまるかどうかを確認します。
- Component テーブルの KeyPath 列に Null 値が含まれます。
- コンポーネントに指定されたファイルが File テーブルにないこと。
- コンポーネントに指定されたファイルが RemoveFile テーブルにないこと、DirProperty の値が Component テーブルの Directory_ 列と同じであること。
- コンポーネントに指定されたファイルが DuplicateFile テーブルにないこと、DestFolder の値が Component テーブルの Directory_ 列と同じであること。
- コンポーネントに指定されたファイルが MoveFile テーブルにないこと、DestFolder の値が Component テーブルの Directory_ 列と同じであること。
これらすべてに該当する場合、ICE18 は次を検証します。
- CreateFolder テーブルの Component_ 列の値が、Component テーブルの Component 列と同じであること。
- CreateFolder テーブルの Directory_ 列の値が、Component テーブルの Directory_ 列と同じであること。
結果
ICE18 でエラー メッセージが返されるのは、インストール パッケージによってコンポーネントのキー パスとして指定されているディレクトリが CreateFolder テーブルにない場合です。
関連トピック