Properties Table (Patchwiz.dll)

The Properties Table contains global settings for the patch package. The Properties Table is required in the patch creation database (.pcp file), and is used by the UiCreatePatchPackageEx function.

The Properties Table has the following columns.

Column Type Key Nullable
Name text Y N
Value text Y

 

Columns

Name

The name of a patch creation property.

Value

The value of the patch creation property.

Remarks

The following table identifies the patch creation property strings that can be entered into the Properties Table of the .pcp file.

Property Description
AllowLaxValidationFlags If this property is set to 1, an entry is written in the log and no error is returned if the ProductValidateFlags field in the TargetImages table cannot be validated. This property should only be set when the patch author has changed the value in the ProductValidateFlags field. The default value for this property is 0. Available beginning with Patchwiz.dll version 4.0.
AllowProductCodeMismatches Set to '1' for True if the ProductCode Property may differ between the upgraded images listed in the UpgradedImages Table and the target images listed in the TargetImages Table. Set to '0' or blank to mean False if the product codes must be the same.
AllowProductVersionMajorMismatches Set to '1' to mean True if the first field (the major version field) of the ProductVersion Property may differ between upgraded images and target images. Set to '0' or blank to mean False if the major versions must match.
ApiPatchingSymbolFlags An 8-digit hex integer representing the combination of patch symbol usage flags to use when creating a binary file patch. Default is 0x00000000. See Patchapi.h for the complete list of possible PATCH_SYMBOL_* flags. See the glossary for more information on symbol files.
DontRemoveTempFolderWhenFinished Set to '1' to mean True if the temporary folder containing the transforms, the byte-level patches, and the entire new files are not being removed after creating the patch package. This is essentially the contents of the .msp file before being embedded into the patch package. This may be useful for debugging patches. Set to '0' or blank to mean False if the temporary folder is to be removed.
IncludeWholeFilesOnly Set to '1' to mean True if files being changed are to be included in their entirety when creating the patch package instead of creating a binary file patch. The patch files will be bigger in size but the API runs faster. Set to '0' or blank to mean False if creating a binary file patch.
ListOfPatchGUIDsToReplace A list of PatchGUID identifiers with no delimiter. If any of these patches are found to be installed on the user's computer and registered with Windows Installer, they are unregistered from the appropriate product and their patch transforms are removed from the list of transforms associated with the product. Note that the removal of a patch does not affect any of the files, only the registration of the patch. Optional.
ListOfTargetProductCodes A list of Product Codes for products that may receive this patch. This is a semicolon delimited list of ProductCode Property values. If the list begins with an asterisk, the list of product codes is generated from the .msi files of the targets listed in the TargetImages Table. If any product codes follow a leading asterisk, they are appended to the list that replaces the asterisk. If the property is not set, a list of product codes is generated from the .msi files of the targets listed in the TargetImages Table.
MsiFileToUseToCreatePatchTables The full path to a template .msi file from which to export the Patch Table and PatchPackage Table. Optional.The Properties Table accepts environment variables for paths beginning with version 4.0 of Patchwiz.dll. Use the Windows format for the environment variable, such as %ENV_VAR%. Do not use the Formatted column data type.
OptimizePatchSizeForLargeFiles This property is set when the value exists and is not "0". When this property is set, patches for files greater than approximately 4 MB in size may be made smaller.
PatchGUID A GUID identifier for this patch package (.msp file). Every patch package must have a unique PatchGUID value. Required.
PatchOutputPath The full path, including file name, of the patch package file that is to be generated. If szPatchPath is passed by the UiCreatePatchPackageEx function, the passed value is used. This property is required if szPatchPath is null or an empty string.The Properties Table accepts environment variables for paths beginning with version 4.0 of Patchwiz.dll. Use the Windows format for the environment variable, such as %ENV_VAR%. Do not use the Formatted column data type.
PatchSourceList A source used to locate the .msp file for the patch in the event that the locally cached copy is unavailable. This value is added to the source list of the patch when it is applied to a product. Optional.
MinimumRequiredMsiVersion Set this property to force Patchwiz.dll to generate a patch that requires a particular version of Windows Installer. This property value helps determine what value to use for the Word Count Summary Property of the patch package. The value for this property is of the same form as the Page Count Summary Property of the installation package. If a .pcp file has a MinimumRequiredMsiVersion equal to 200, Patchwiz.dll sets the Word Count Summary property of the patch package to 3. This prevents the patch from being applied by Windows Installer version earlier than version 2.0.
If a .pcp file has a MinimumRequiredMsiVersion equal to 300, Patchwiz.dll sets the Word Count Summary Property of the patch package to 4. This prevents the patch from being applied by Windows Installer versions earlier than version 3.0.
If a .pcp file has a MinimumRequiredMsiVersion equal to 310, Patchwiz.dll sets the Word Count Summary Property of the patch package to 5. This prevents the patch from being applied by Windows Installer earlier than version 3.1.
If a .pcp file has a MinimumRequiredMsiVersion equal to 400, Patchwiz.dll sets the Word Count Summary property of the patch package to 6. This prevents the patch from being applied by Windows Installer earlier than version 4.0.
PATCH_CACHE_ENABLED Set this property to 1 to cache the patch creation information in the folder specified by the PATCH_CACHE_DIR property. Patch caching increases the speed of patch creation when recreating a new patch after updating the update image. This property requires Patchwiz.dll in Windows Installer  2.0 or later. For information, see Patch Information Caching (Patchwiz.dll).
PATCH_CACHE_DIR Set this property to the name of the folder that stores the cached patch information. Patchwiz.dll creates this folder if necessary. The folder should be on a drive with sufficient disk space. This property is only used if the PATCH_CACHE_ENABLED property is set to 1. The Properties Table accepts environment variables for paths beginning with version 4.0 of Patchwiz.dll. Use the Windows format for the environment variable, such as %ENV_VAR%. Do not use the Formatted column data type.
SEQUENCE_DATA_GENERATION_DISABLED Set this property to 1 (one) to prevent the automatic generation of patch sequencing information. If this property is absent, sequencing information is automatically generated and added.
SEQUENCE_DATA_SUPERSEDENCE Set this property to 0 (zero) or 1 (one) to write that value in the Attributes field of all rows in the MsiPatchSequence table.
TrustMsi Set this property to 1 in the Properties Table to use the file version information, size, and hash values provided in the .msi file. If this property is set but the information in the .msi file is incorrect, the patch created may not function correctly. You should update the target and upgraded .msi files using MsiFiler.exe. The default value for this property is 0. Available beginning with Patchwiz.dll version 4.0.