After you install software updates, repairs or uninstalls for certain products may fail. If you have MSI logging enabled, the following lines are found in the log:
Couldn't find local patch ''. Looking for it at its source.
…
MainEngineThread is returning 1612
Also, when you look in the registry, you may find that the software update cache registration is missing from the following registry subkey:
To fix this problem automatically, click the
Fix it
button or link. Click
Run
in the
File Download
dialog box, and then follow the steps in the Fix it wizard.
Note this wizard may be in English only; however, the automatic fix also works for other language versions of Windows.
Note if you are not on the computer that has the problem, save the Fix it solution to a flash drive or a CD and then run it on the computer that has the problem.
Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:
322756
(http://support.microsoft.com/kb/322756/
)
How to back up and restore the registry in Windows
To fix this problem, follow these steps:
Confirm that the product is affected.
To do this, follow these steps:
Find the software update registration of the product by opening the following registry subkey:
Under this subkey, there will be a subkey for every software update that was applied to the product.
For each subkey that is in the following format, perform the following step: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Products\<ProductSQUID>\Patches\<PatchSQUID>
If the subkey is missing, the product is affected. Continue to step 2.
If the subkey exists, verify that the LocalPackage string value is set correctly, and that the package referenced by the LocalPackage string value also exists.
If the LocalPackage string value or referenced package is missing, the product is affected. Continue to step 2.
If the referenced package exists and no additional action is required.
Re-create software update cache registry details. To do this, follow these steps:
Search the %windir%\installer\*.msp for the software update that you tried to install. Verify that the software update has the correct Patch GUID in the Summary Information Stream and targets the correct product GUIDs. Note Because this directory serves as the cache for per-user installations and per-machine installations, you can simulate a software update in this directory by using a per-user installation.
Create the following subkey: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Patches\<PatchSQUID>
Note It is a security risk to re-create the software update cache registry. However, this is the only way to repair the corruption. You can reduce the security risk by making sure that the software update is the correct software update. To do this, verify the checksum of the software update.
Create a LocalPackage string value in the registry subkey that you created step 2,b. Make sure that the LocalPackage string value is set to the path of the software update.
Delete remaining software update references. To do this, follow these steps:
Open the following subkey, and then remove <PatchSQUID> from the "AllPatches" multi-sz value: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Products\<ProductSQUID>\Patches
Delete the following registry subkey: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Products\<ProductSQUID>\Patches\<PatchSQUID>
Delete the following registry subkey: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Patches\<PatchSQUID>
Note If this subkey is missing, skip this step.
If the product was installed per-machine, follow these steps:
Open the following subkey: HKEY_LOCAL_MACHINE\Software\Classes\Installer\Products\<ProductSQUID>\Patches
If the <PatchSQUID> string value is present, delete it.
If the <PatchSQUID> string value is present in the "Patches" Multi-sz value, delete the <PatchSQUID> string value.
If following registry subkey is present, delete it:HKEY_LOCAL_MACHINE\Software\Classes\Installer\Patches\<PatchSQUID>
If the product was installed per-user unmanaged:
Open the following registry subkey: HKEY_CURRENT_USER\Software\Microsoft\Installer\Products\<ProductSQUID>\Patches
If the <PatchSQUID> string value is present, delete it.
If the <PatchSQUID> from the “Patches” Multi-sz value is present, remove it.
If following registry subkey is present, delete it: HKEY_CURRENT_USER\Software\Microsoft\Installer\Patches\<PatchSQUID>
If the product was installed per-user managed:
Open the following registry subkey: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Managed\<SID>\Installer\Products\<ProductSQUID>\Patches
If the <PatchSQUID> string value is present, delete it.
If the <PatchSQUID> from the “Patches” Multi-sz value is present, remove it.
If the following registry subkey is present, delete it:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Managed\<SID>\Installer\Patches\<PatchSQUID>
Check whether the problem is fixed. If the problem is fixed, you are finished with this article. If the problem is not fixed, you can contact support
(http://support.microsoft.com/contactus)
.