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 フォント タイトル

 

ICE リファレンス