ICE27
ICE27 は、Search、Costing、Selection、Execution の各セクションで、有効なアクション、アクション シーケンスの制限、および編成について、インストール パッケージの "シーケンス テーブル" を検証します。
ICE27 カスタム アクションは、次の検証を行います。
- シーケンス テーブルの Action 列に記載されているアクションが、標準アクション、CustomAction テーブルに記載されているカスタム アクション、または Dialog テーブルに記載されているダイアログ ボックスであること。
- シーケンスの制限の対象となるアクションが、アクション シーケンス内で相互に対して正しい相対順序にあること。 シーケンスの制限は、あるアクションが別のアクションに依存している場合に発生します。
- シーケンスの特定のセクションに制限されているアクションが、それらが属する場所に配置されていること。 ICE27 は、シーケンス テーブルの次の編成を検証します。 すべてのシーケンス テーブルにすべてのセクションがあるわけではないことに注意してください。 推奨されるシーケンス テーブルについては、「シーケンス テーブルを使用する」を参照してください。
シーケンス テーブル セクション | アクション シーケンス内の範囲 | セクションに属するアクション |
---|---|---|
検索 | {start} から CostInitialize | 既存のアプリケーションを検索するアクション。
AppSearch CCPSearch |
Costing | CostInitialize から CostFinalize アクション |
ファイルのコスト計算を行うアクション。
CostInitialize FileCost CostFinalize |
選択 | CostFinalize から InstallValidate | フォルダーまたは機能の状態を設定するアクション。
SetODBCFolders アクション |
実行 | InstallValidate から InstallFinalize | 登録、発行、インストール (ファイルをコピーする場所) などのスクリプト アクション。 Execution セクションにアクションがある場合にのみ、InstallFinalize アクションがテーブル内に存在する必要があることに注意してください。 |
PostExecution | InstallFinalize から {end} | RemoveExistingProducts |
ICE27 は、次のテーブルを検証します。
結果
ICE27 は、パッケージ内のシーケンス テーブルに、無効なアクション シーケンスまたは編成がある場合に、エラー メッセージを書き込みます。
例
ICE27 エラー | 説明 |
---|---|
不明なアクション: InstallExecuteSequnence テーブルの 'Action1'。 標準アクションではなく、CustomAction テーブルまたは Dialog テーブルで見つかりません | 標準アクション、CustomAction テーブルに記載されているカスタム アクション、または Dialog テーブルに記載されているダイアログ ボックスではないアクションが、指定されたシーケンス テーブルに記載されています。 |
InstallExecute テーブル内の 'Action2' が間違った場所にあります。 Current: Search、Correct: Costing | Sequence 列のシーケンス番号に関して誤って配置されているアクションが、シーケンス テーブルにあります。 "Current" は、指定されたシーケンス テーブルの Search、Costing、Selection、または Execution セクションでのアクションの現在の配置を示します。 "Correct" は、アクションが属するセクションを示します。 このエラーを修正するには、アクションのシーケンス番号を正しいセクション内の番号に変更します。 一部のアクションは複数のセクションに配置できることに注意してください。 |
InstallExecuteSequence テーブル内の 'InstallFinalize' アクションは、実行されるスクリプト操作が存在する場合にのみ呼び出すことができます | テーブルの Execution セクションにスクリプト操作が含まれていない InstallFinalize アクションが、シーケンス テーブルにあります。 Execution セクションにアクションを追加するか、テーブルから InstallFinalize アクションを削除します。 |
実行されるスクリプト操作が存在するため、InstallExecuteSequence テーブルで InstallFinalize を呼び出す必要があります | Execution セクションにアクションが含まれているが、InstallFinalize アクションが含まれていないシーケンス テーブルがあります。 このシーケンス テーブルに InstallFinalize アクションを追加し、それがアクション シーケンスの最後に配置されるように最大のシーケンス番号を付与します。 |
アクション: InstallExecuteSequence テーブル内の 'Action3' は、'Action5' アクションの前に来るように指定する必要があります。 現在のシーケンス番号: 1200。 依存シーケンス番号: 1100 | 依存アクションの後に配列されているアクションが、指定されたシーケンス テーブルにあります。 依存アクションのシーケンス番号を変更して、現在のアクションが依存アクションの前に来るように指定します。 |
アクション: InstallExecuteSequence テーブル内の 'Action4' は、'Action6' アクションの後に来るように指定する必要があります。 | 依存対象のアクションの前に配列されているアクションが、指定されたシーケンス テーブルにあります。 アクションのシーケンス番号を変更して、依存アクションが依存対象のアクションの後に来るように指定します。 |
関連トピック