Description of the Patch Registration Cleanup Tool

Support for Windows Vista Service Pack 1 (SP1) ends on July 12, 2011. To continue receiving security updates for Windows, make sure you're running Windows Vista with Service Pack 2 (SP2). For more information, refer to this Microsoft web page: Support is ending for some versions of Windows.

INTRODUCTION

Microsoft has released the Patch Registration Cleanup Tool. To download the tool, visit the following Microsoft Web site:


Note To see usage information for this tool, type PatchRegCleanup /? at the command prompt.

Overview

Windows Installer uses the registry to record information about updates installed for each Windows Installer-based product. These registry keys help identify the state of each update: registered, applied, superseded, or obsoleted. Information about installed updates is stored across several registry keys and values. To allow for the product to be in a serviceable state in which it can be repaired, updated, or uninstalled, it is critical for the data in these registry keys to be synchronized. When the data in these registry keys is no longer synchronized, maintenance mode operations cannot be performed on the product .msi file.

The Patch Registration Cleanup Tool helps resolve some issues that are related to invalid or corrupted update registration. This tool lets you bring the product back to a known state so that you can reinstall updates.

More Information

Windows Installer stores information about each Windows Installer-based product under the following registry subkey:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\<Squished GUID for Product>

The squished GUID (or SQUID for short) is an internal representation of the GUID that represents the product code property in the .msi file. Information about the updates that are installed for the particular product is recorded under the following Patches subkey:


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\<Squished GUID for Product>\Patches\
The information about each update is listed in the following two locations:

  • Under the AllPatches multi-string value. The SQUID for each update, regardless of whether the update is registered, applied, superseded, or obsoleted, is listed here.
  • A subkey under the Patches node that is named by using the SQUID of the particular update. This subkey provides more details about an update.

Patches node registry key


Valid update registration requires that all updates that have their SQUIDs listed under the Patches node and that are either registered or applied updates should also be included under the AllPatches multi-string value. Also, the AllPatches multi-string value should not contain SQUIDs for updates that do not have corresponding registry keys under the Patches node.

When the update registration information is not as expected, Windows Installer cannot perform any maintenance mode operations on the product.

The Patch Registration Cleanup tool addresses some of these issues by removing any registry keys under the Patches node that do not have corresponding entries under the AllPatches multi-string value.

For more information about update registration problems, click the following article number to view the article in the Microsoft Knowledge Base:
971187 How to fix MSI software update registration corruption issues
Properties

Article ID: 976220 - Last Review: Jun 10, 2011 - Revision: 1

Feedback