ICE35 は、キャビネット ファイル に格納されている圧縮ファイルを含むコンポーネントがソースから実行されるように設定されていないことを検証します。 Windows インストーラー 2.0 以降では、この制限は削除されました。
ICE35 は、メディア テーブルのキャビネット列 に対してクエリを実行して、どのファイルが圧縮され、キャビネット ファイルに格納されているかを判断します。 ファイル テーブル に対してクエリを実行して、これらのファイルを含むコンポーネントを特定します。 最後に、コンポーネント テーブル をチェックして、ソースからの実行ビットが [属性] 列に設定されているかどうかを判断します。
結果
ICE35 は、msidbComponentAttributesSourceOnly ビットが コンポーネント テーブルの Attributes 列に設定されたコンポーネントに属するキャビネット ファイルに格納されている圧縮ファイル場合、エラー メッセージを投稿します。 Windows インストーラー 2.0 以降では、これはエラーから警告メッセージに変更されます。 Windows インストーラー 2.0 以降のみをサポートするパッケージには、Summary Information Stream の PID_PAGECOUNT プロパティが 200 以上の値に設定されています。
ICE35 は、msidbComponentAttributesOptional ビットが設定されたキャビネット ファイルに格納されている圧縮ファイルが、コンポーネント テーブルの [属性] 列場合に警告メッセージを投稿します。 この警告メッセージは、Windows インストーラー 2.0 以降で削除されました。
コンポーネント内の複数のファイルがキャビネット・ファイル内にある場合、ICE35 はソース・ビット・セットからの実行を持つファイルごとにエラーを報告します。
例
ICE35 は、Windows インストーラー バージョン 2.0 より前のバージョンを使用して示されている例の次のエラーと警告を報告します。
| ICE35 エラー | 形容 |
|---|---|
| エラー: コンポーネント コンポーネント 3 は、メンバー ファイル 'File3' が圧縮されているため、ソースからのみ実行できません。 | キャビネット ファイルに格納されている圧縮ファイルがあり、このファイルは、コンポーネント テーブルの [属性] 列に SourceOnly ビットが設定コンポーネントに属します。 このエラーを修正するには、Component2 の属性値の下位 2 ビットを "00" に変更します。つまり、ローカルのみ、または CAB ファイルから File4 を削除します。 |
| エラー: コンポーネント コンポーネント 3 は、メンバー ファイル 'File3' が圧縮されているため、ソースからのみ実行できません。 | キャビネット ファイルに格納されている圧縮ファイルがあり、このファイルは、コンポーネント テーブルの [属性] 列に SourceOnly ビットが設定コンポーネントに属します。 コンポーネント内のファイルはすべて同じメディアから生成される必要がないため、ICE35 は、キャビネット内のコンポーネント内の各ファイルのエラーを報告します。 このエラーを修正するには、Component2 の属性値の下位 2 ビットを "00" に変更します。つまり、ローカルのみ、または CAB ファイルから File4 を削除します。 |
メディア テーブル (一部)
| DiskID | LastSequence | 内閣 |
|---|---|---|
| 1 | 2 | |
| 2 | 4 | One.cab |
| 3 | 5 | #Two.cab |
ファイル テーブルの (部分)
| ファイル | コンポーネント_ | 順序 |
|---|---|---|
| File1 | Component1 | 1 |
| File2 | Component2 | 2 |
| File3 | Component2 | 3 |
| File4 | Component3 | 4 |
| File5 | Component3 | 5 |
コンポーネント テーブルの (部分)
| コンポーネント | 属性 |
|---|---|
| Component1 | 0 |
| Component2 | 2 |
| Component3 | 1 |
ショートカット テーブルの (一部)
| 近道 | アイコン_ |
|---|---|
| Shortcut1 | Icon2 |
ファイルは、概要情報ストリームの Word Count Summary プロパティを使用して圧縮済みとしてマークすることもできます。
関連トピック