Patch Table

The Patch table specifies the file that is to receive a particular patch and the physical location of the patch files on the media images.

The Patch table has the following columns.

Column Type Key Nullable
File_ Identifier Y N
Sequence Integer Y N
PatchSize DoubleInteger N N
Attributes Integer N N
Header Binary N Y
StreamRef_ Identifier N Y




The patch is applied to the file specified by the identifier in this column. This is a primary key for the table and it is a foreign key to the File table.


This is the position of the patch file in the sequence order of files on the media images. The sequence order must correspond to the order of the files in the patch package cabinet file. This is a primary key for this table. The maximum limit is 32767 files, to create a Windows Installer package with more files, see Authoring a Large Package.


This column gives the size of the patch in bytes written as a long integer.


Integer containing bit flags representing patch attributes. Insert a value of 1 in this column to indicate that the failure to apply this patch is not a fatal error.

Constant Hexadecimal Decimal Description
(none) 0x000 0 Failure to apply this patch is a fatal error.
msidbPatchAttributesNonVital 0x001 1 Indicates that the failure to apply this patch is not a fatal error.



This column is the binary stream patch header used for patch validation. This column should be null if the StreamRef_ column is not null. In this case, the patch header stream is stored in the MsiPatchHeaders table to overcome the stream name limitation described in OLE Limitations on Streams.


External key into the MsiPatchHeaders table specifying the row that contains the patch header stream.


This table is processed by the PatchFiles action. It is usually added to the install package by a transform from a patch package. It is usually not authored directly into an install package.