ICE38
ICE38 は、現在のユーザー プロファイルの下にインストールされるすべてのコンポーネントが、Component テーブルの KeyPath 列の HKEY_CURRENT_USER ルート以下にあるレジストリ キーも指定していることを確認します。
ユーザーのプロファイルにインストールされたコンポーネントが HKCU レジストリ キーを指定していない場合、ICE38 はエラーを投稿します。
ICE38 は、次のサンプルのようなエラーを報告します。
ICE38 エラー | 説明 |
---|---|
コンポーネント Component1 はユーザー プロファイルにインストールされます。 ファイルではなく、HKCU の下のレジストリ キーを KeyPath として使う必要があります。 | Component1 の属性列の値は 0 です。これは、コンポーネントでファイルを KeyPath として使う必要があることを意味します。 このため、複数のユーザーが同じコンピューターにコンポーネントをインストールすると、問題が発生します。 Component1 のこのエラーを修正するには、Component テーブルの Attributes 列に RegistryKeyPath ビットを設定し、KeyPath 列のエントリを Registry テーブルの Registry 列に登録されている値に変更します。 |
コンポーネント Component2 がユーザー プロファイルにインストールされます。 HKCU の下のレジストリ キーを KeyPath として使う必要があります。 KeyPath は現在 NULL です。 | Component2 では、Component テーブルの Attributes 列に RegistryKeyPath ビットが設定されています。 そのため、KeyPath フィールドには Registry テーブルの Registry 列のキーを含める必要がありますが、KeyPath 列は Null です。 このエラーを解決するには、KeyPath 値を Registry テーブルの有効なエントリに変更します。 |
コンポーネント Component3 はユーザー プロファイルにインストールされます。 その KeyPath レジストリ キーは HKCU 以下にある必要があります。 | Component3 では、Component テーブルの Attributes 列に RegistryKeyPath ビットが設定されていますが、Registry テーブルの Root 列に指定されているレジストリ エントリのルートには HKEY_CURRENT_USER ではなく HKEY_LOCAL_MACHINE が指定されています。 このエラーを修正するには、このコンポーネントの KeyPath として HKEY_LOCAL_MACHINE 以下の有効なレジストリ エントリを使うか、Registry テーブルの Root 列の値を - 1 または 1 に変更します。 |
コンポーネント Component4 の KeyPath レジストリ エントリが存在しません。 | Component4 では、Component テーブルの Attributes 列に RegistryKeyPath ビットが設定されていますが、KeyPath 列のエントリが Registry テーブルに存在しません。 このエラーを修正するには、HKEY_CURRENT_USER 以下にあるレジストリ テーブルに Reg4 のエントリを追加します。 |
コンポーネント Component5 の KeyPath としてレジストリ エントリ Reg5 が設定されていますが、そのレジストリ エントリは Component5 に属していません。 | コンポーネントの KeyPath 列で参照されているレジストリ エントリが見つかり、HKCU ツリーの下にありますが、そのレジストリ エントリの Component_ 列で、それが KeyPath として指定されているのと同じコンポーネントが参照されていません。 つまり、コンポーネントの KeyPath として使われているレジストリ エントリは、他のコンポーネントがインストールされた場合にのみ作成されます。 このエラーを解決するには、そのコンポーネントに属しているレジストリ エントリを参照するように KeyPath の値を変更するか、レジストリ エントリを KeyPath としてそれを使っているコンポーネントに属するように変更します。 |
Directory テーブル (部分)
ディレクトリ | Directory_Parent | DefaultDir |
---|---|---|
Dir1 | StartMenuFolder | |
Dir2 | DesktopFolder | |
Dir3 | Dir3 | AppData |
Dir4 | Dir3 | SubDir |
Component テーブル (部分)
コンポーネント | Directory_ | 属性 | KeyPath |
---|---|---|---|
Component1 | Dir1 | 0 | File1 |
Component2 | Dir2 | 4 | |
Component3 | Dir3 | 4 | Reg3 |
Component4 | Dir4 | 4 | Reg4 |
Component5 | Dir5 | 4 | Reg5 |
Registry テーブル (部分)
レジストリ | Root | 値 | Component_ |
---|---|---|---|
Reg3 | 2 | Component3 | |
Reg5 | 0 | Component4 |