ICE12
ICE12 によって、CustomAction テーブル、Directory テーブル、AdminExecuteSequence テーブル、AdminUISequence テーブル、AdvtExecuteSequence テーブル、InstallExecuteSequence テーブル、InstallUISequence テーブルに対してクエリが実行され、次について検証されます。
- カスタム アクションの種類 35 またはカスタム アクションの種類 51 の種類のアクションを含むシーケンス テーブル内で CostFinalize アクションが発生していること。
- すべてのカスタム アクションの種類 35 が、シーケンス テーブル内で CostFinalize アクションの後に表示されていること 。
- CustomAction テーブルの Source 列内にある Directory テーブルへの外部キーを持つすべてのカスタム アクションの種類 51 が、シーケンス テーブル内で CostFinalize アクションの前に表示されていること。
ICE12 を使用しても CustomAction テーブルの Target 列内にある書式設定されたテキストは検証されないことに注意してください。
ディレクトリ プロパティを設定するカスタム アクションの検証が失敗した場合は、ICE12 によってエラー メッセージが投稿されます。
示されている例では、ICE12 によって 3 つのエラーが発生しています。
- CA1 の場合、Directory テーブルにはフォルダー "MyFolder" がありません
- CA2 の場合、Sequence "80" は、InstallExecuteSequence テーブルの CostFinalize の前に表示されます。 これは、(CF@100) の後に表示される必要があります
- CA3 の場合、Sequence "125" は、InstallExecuteSequence テーブルの CostFinalize の後に表示されます。 これは、(CF@100) の前に表示される必要があります
CustomAction テーブル (一部)
アクション | Type | source |
---|---|---|
CA1 | 35 | MyFolder |
CA2 | 35 | WindowsFolder |
CA3 | 51 | WindowsFolder |
ディレクトリ | Directory_Parent | DefaultDir |
---|---|---|
TARGETDIR | SourceDir | |
WindowsFolder | TARGETDIR | WindowsFolder |
InstallExecuteSequence テーブル (一部)
アクション | シーケンス |
---|---|
CostFinalize | 100 |
CA2 | 80 |
CA3 | 125 |
CA1 のエラーを修正するには、CustomAction テーブルの Source 列のエントリを、Directory テーブルの既存のエントリに変更するか、MyFolder を Directory テーブルに追加します。
CA2 のエラーを修正するには、InstallExecuteSequence テーブルの順序を変更して、CostFinalize アクションの後に表示されるようにします。
CA3 のエラーを修正するには、InstallExecuteSequence テーブルの順序を変更して、CostFinalize アクションの前に表示されるようにします。