User Guide
302
Patches
Patches
Use Patch Creation to create a Windows Installer patch file (.MSP) that updates installed
versions of a Windows Installer-based application. A patch file can update one or several
previous versions. Unlike full installations, a patch installation contains only the
information necessary to update an installed version of the application.
Patch Creation uses 3 files from the Microsoft Windows Installer SDK: PATCHWIZ.DLL,
MSPATCHC.DLL, and MAKECAB.EXE. They are installed in the Wise for Windows Installer
application directory. You specify settings in Patch Creation, and it saves those settings
in a patch settings file (.PCP). Patch Creation then sends the patch settings file to
PATCHWIZ.DLL, which creates the patch file (.MSP).
Patch Creation Guidelines
! Before you use Patch Creation, use UpgradeSync. See UpgradeSync on page 300.
! The package code must be different between the old installations and the new
installation. To see the package code, click the Summary icon in Setup Editor >
Product tab. Changing the Version field on the Product Details page causes the
package code to be updated, as does running UpgradeSync.
! The previous version or versions must have been installed using Windows Installer.
! To edit an existing patch, you need access to its patch settings file (.PCP).
! If you created any previous patches for an installation, you need access to the most
recent patch file (.MSP) to read its file sequence number and disk ID.
! You need access to the complete installation in .MSI format for every installation that
this patch will upgrade and for the latest version of your application. If the
installation includes external CABs or other files, you also need those files.
Note
If you compiled the installation as an .EXE, you need the .MSI for the installation because
Patch Creation does not operate on .EXE files. The .MSI is created in the same directory
as the .EXE during compile.
Patching Assemblies in the Global Assembly Cache
" Windows Installer 3.0 or later.
Prior to Windows Installer 3.0, it was difficult to patch assemblies that were installed in
the Global Assembly Cache (GAC), because the files could not be found.
When you patch an assembly that is installed in the GAC, Windows Installer 3.0
identifies and finds the original file and applies a binary patch. This eliminates the need
for Windows Installer to access the original installation source in order to patch an
assembly installed in the GAC.
Search for “MsiPatchOldAssemblyName Table” and “MsiPatchOldAssemblyFile Table” in
the MSDN Library (msdn.microsoft.com/library/).