MsiFileHash Table

The MsiFileHash table is used to store a 128-bit hash of a source file provided by the Windows Installer package. The hash is split into four 32-bit values and stored in separate columns of the table.

Windows Installer can use file hashing as a means to detect and eliminate unnecessary file copying. A file hash stored in the MsiFileHash table may be compared to a hash of an existing file on the user's computer obtained by calling MsiGetFileHash. The MsiFileHash table can only be used with unversioned files.

The MsiFileHash table has the following columns.

Column Type Key Nullable
File_ Identifier Y N
Options Integer N N
HashPart1 DoubleInteger N N
HashPart2 DoubleInteger N N
HashPart3 DoubleInteger N N
Hashpart4 DoubleInteger N N

 

Columns

File_

Foreign key to File table. 72 char string.

Options

This column must be 0 and is reserved for future use.

HashPart1

First 32 bits of hash. The file hash entered in this field must be obtained by calling MsiGetFileHash or the FileHash method. Do not use other methods.

HashPart2

Second 32 bits of hash. The file hash entered in this field must be obtained by calling MsiGetFileHash or the FileHash method. Do not use other hashing methods.

HashPart3

Third 32 bits of hash. The file hash entered in this field must be obtained by calling MsiGetFileHash or the FileHash method. Do not use other methods.

HashPart4

Fourth 32 bits of hash. The file hash entered in this field must be obtained by calling MsiGetFileHash or the FileHash method. Do not use other methods.

Validation

ICE03
ICE06
ICE32
ICE60
ICE66

MsiGetFileHash

Default File Versioning