ICE60
ICE60 は、ファイル テーブル内のファイルが次の条件を満たしていることを確認します。
- ファイルがフォントではなく、バージョンがある場合は、言語が必要です。
- ICE60 では、バージョン管理されたファイルが MsiFileHash テーブルに一覧表示されていないことを確認します。
通常、ICE60 によって報告された警告を修正しないと、製品の修復が完了したときにファイルが不必要に再インストールされます。 これは、修復にインストールされるファイルと、ディスク上の既存のファイルのバージョンが同じである (これらは同じファイル) が言語が異なるためです。 ファイル テーブルには言語が null として一覧表示されますが、ファイル自体にはリソースに言語値があります。 ファイルのバージョン管理規則に基づいて、インストーラーはインストールするファイルを優先するため、不必要に再コピーされます。
結果
ファイル テーブル内のファイルがフォントではなく、バージョンを持つファイルに言語がない場合、ICE60 によって警告またはエラーが表示されます。
MsiFileHash テーブルに一覧表示されているファイルがバージョン管理されている場合、ICE60 によって次のエラーが表示されます。
ERROR: "The file [1] is Versioned. It cannot be hashed"
例
ICE60 では、示されている例に対して次のエラーと警告を報告します。 (ファイル B はフォントです。他のファイルはフォントではありません。)
WARNING: The file FileE is not a Font, and its version is not a companion file reference. It should have a language specified in the Language column.
FileA には、バージョンと言語の両方があります。そのため、警告やエラーは生成されません。
FileB にはバージョンがありますが、言語はありません。 ただし、フォントであるため、警告やエラーは生成されません。
FileC はコンパニオン参照であるため、言語を持つ必要はありません。 警告またはエラーは生成されません。
FileD にはバージョンがないため、言語を持つ必要はありません。 警告またはエラーは生成されません。
FileE にはバージョンがありますが、言語はありません。 そのため、警告が生成されます。
この警告を修正するには、FileE に言語を追加します。
可能な限り、ファイルにはバージョン リソースに言語値が格納されている必要があります。 ファイルが言語に依存しない場合は、LANGID 0 を使用します。
ファイル テーブル (FileB はフォントです。他のファイルはフォントではありません。)
ファイル | バージョン | Language |
---|---|---|
FileA | 1.0 | 1033 |
FileB | 1.0 | |
FileC | FileA | |
FileD | ||
FileE | 1.0 |
ファイル | FontTitle |
---|---|
FileB | フォント タイトル |
関連トピック