UiCreatePatchPackage (Patchwiz.dll)

The UiCreatePatchPackage function takes a package creation file (.pcp file) and generates a Windows Installer patch package (.msp package). Calling Msimsp.exe is the recommended method for using Patchwiz.dll. The UiCreatePatchPackageEx function is available in version 4.0 of Patchwiz.dll and extends the functionality of the UiCreatePatchPackage function.

UINT UiCreatePatchPackage(
  LPCTSTR szPcpPath,              
  LPCTSTR szPatchPath,            
  LPCTSTR szLogPath,             
  HWND hwndStatus,                
  LPCTSTR szTempFolder,           
  Bool fRemoveTempFolderContents  
);

Parameters

szPcpPath

Full path to the patch creation properties file (.pcp file) for this patch.

szPatchPath

Full path to the Windows Installer patch package (.msp file) that is to be created. This parameter may be NULL or an empty string but may not be omitted. If it is NULL or an empty string, the function uses the value of PatchOutputPath in the Properties Table (Patchwiz.dll).

szLogPath

Full path to a text log file that will be appended. This parameter may be NULL or an empty string but may not be omitted.

hwndStatus

Handle to a window that displays the status text. This parameter may be NULL or an empty string but may not be omitted.

szTempFolder

Location for temporary files. This parameter may be NULL or an empty string but may not be omitted. The default location is %TMP%\~pcw_tmp.tmp\.

fRemoveTempFolderContents

If TRUE, remove the temporary folder and all of its contents if present. If FALSE, and folder is present, the function fails.

Return Values

See the table in Return Values for UiCreatePatchPackage.

Remarks

For an example of authoring a .pcp file and using UiCreatePatchPackage to generate a Windows Installer patch package, see the section A Small Update Patching Example.

Creating a patch requires an uncompressed setup image, such as an administrative image or an uncompressed setup image from a CD-ROM. UiCreatePatchPackage does not generate binary patches for files in cabinets.