This problem occurs because Windows Installer must load the cached installation database and all updates when Windows Installer performs any maintenance installations, such as uninstallations. If packages for those updates do not exist in the Windows Installer cache, Windows Installer tries to find the updates from earlier source directories.
The .NET Framework 2.0 SP1 is a major upgrade that uninstalls the earlier version of the .NET Framework 2.0. If Windows Installer cannot find the packages for the earlier installed updates during the uninstall operation, the installation fails with an error message.
If an incomplete rollback occurs, this failure to install may also cause applications that use the .NET Framework to fail.
This problem may occur for one of the following two reasons.
The Windows Installer cache is missing necessary files
The Windows Installer cache is critical for repairing, for updating, and for uninstalling products. Therefore, you should not remove or modify the contents of the cache. If you change the contents of the cache, you may be prompted for a source when you try to update or to repair Windows Installer-based products.
Sometimes a Windows Installer Patch (.msp) file that Windows Installer expects to find in the cache may not exist. The following are two common reasons why the .msp file may be missing:
- You run a tool that finds and deletes large files or rarely used files on your disk.
- The owner of the %windir%\Installer directory changes from SYSTEM or from Administrators.
If this issue occurs, you see the following in the Windows Installer log for the failing installation:
MSI (s) (D0:B0) [19:05:57:843]: Couldn't find local patch 'C:\WINDOWS\Installer\a4784a.msp'. Looking for it at its source.
MSI (s) (D0:B0) [19:05:57:843]: Resolving Patch source.
You can use the Microsoft .NET Framework 2.0 Registration Correction Tool to resolve this issue when it occurs when you install the .NET Framework 2.0 SP1. The tool fixes this issue by deleting all hotfix or update registrations that are specific to this update so that maintenance installations do not try to load the specific .msp file.
You can also try to fix this issue by rebuilding the installer cache. You can typically find the Knowledge Base number for the hotfix or for the update in the lines that follow "Resolving Patch source," as shown in the following example:
MSI (s) (D0:B0) [19:05:57:859]: SOURCEMGMT: Source is invalid due to missing/inaccessible package.
MSI (s) (D0:B0) [19:05:57:859]: Note: 1: 1706 2: -2147483647 3: NDP20-KB917283-X86.msp
To fix the Windows Installer Cache for this example, follow these steps:
- Visit the following Microsoft Web site:Note You can replace the Knowledge Base article number in the URL with the Knowledge Base article number of the hotfix or the update for which you want to fix the Windows Installer cache.
- Download the update.
- Extract the .msp file that is inside the hotfix or the update by using the /x command-line switch or the /extract command-line switch.
- Copy the extracted .msp file to the location for the missing file. In this example, the location is %windir%\Installer\a4784a.msp.
The hotfix registration or the update registration is corrupted
After a hotfix or an update is installed on a Windows Installer-based product, the hotfix registration or the update registration may become corrupted. This problem can occur because of third-party registry cleaner utilities that remove certain registry keys. These keys include the keys that are meant for internal use by Windows Installer. In this case, the "Resolving Patch source" message in the log reads as follows:
MSI (s) (CC:5C) [03:02:56:181]: Couldn't find local patch ''. Looking for it at its source.
MSI (s) (CC:5C) [03:02:56:181]: Resolving Patch source.
Note The location of the hotfix or the update is missing in the log message because of the missing hotfix or upate registration information. In this case, a hotfix or an update is still registered to a product. However, location information for the hotfix or update is missing. Although the file may exist, Windows Installer does not know the path of the file that Windows Installer needs in order to load.
You can use the Microsoft .NET Framework 2.0 Registration Correction Tool to resolve this issue when it occurs when you install the .NET Framework 2.0 SP1. The tool fixes this issue by deleting all hotfix or update registration that is specific to this service pack so that maintenance installations do not try to load the hotfix or the update package.