ICEM05
ICEM05 では、マージ モジュールがモジュール内のコンポーネントに正しく関連付けられていることを確認します。 コンポーネントをモジュールに誤って関連付けると、コンポーネントがターゲット データベースに誤って関連付けられます。
マージ モジュールの ICE は、パッケージ検証に使用される ICE を含む .cub ファイルではなく、Mergemod.cub というマージ モジュールの .cub ファイルに保存されます。
ICEM05 では、モジュール データベースがコンポーネントとモジュールを誤って関連付ける場合にエラーをポストします。
ICEM05 では、以下に示されたデータベース エントリが含まれるモジュールに関する次のエラー メッセージがポストされます。
The component Component2.OtherModule.GUID2.1033 in the
ModuleComponents table does not belong to this Merge Module.
The component Component1.MyModule.GUID1.1033 in the ModuleComponents
table is not listed in the Component table.
The component 'Component3' in the Component table is not listed in the
ModuleComponents table.
ModuleID | Language | Version |
---|---|---|
MyModule.GUID1 | 1033 | 1.0 |
コンポーネント | ModuleID | Language |
---|---|---|
Component1 | MyModule.GUID1 | 1033 |
Component2 | OtherModule.GUID2 | 1033 |
Component テーブル (一部)
コンポーネント | ComponentID |
---|---|
Component3 | GUID4 |
Component2 | GUID5 |
ModuleComponents テーブルが ModuleSignature テーブルで指定されている現在のモジュールではない別のモジュールにコンポーネントを関連付けようとするため、マージ モジュール ICE で最初のエラーが報告されます。 これを修正するには、Component2 の ModuleComponents レコードの ModuleID 列と Language 列を、現在のモジュール MyModule.GUID1 のものに変更します。
ModuleComponents テーブルの最初のレコードが Component1 をモジュールに関連付けようとするため、マージ モジュール ICE で 2 番目のエラーが報告されます。 このコンポーネントは、マージ モジュールの Component テーブルに存在しません。 モジュールは、モジュール内に存在するコンポーネントにのみ関連付けることができます。 これを修正するには、存在しないコンポーネントのレコードを削除します。
モジュールがターゲット データベースに Component3 を追加しようとするため、マージ モジュール ICE で 3 番目のエラーが報告されます。 このコンポーネントは ModuleComponents テーブル内のモジュールに関連付けられていません。 このエラーを修正するには、Component3 のレコードを ModuleComponents テーブルに追加します。