How To Resolve Missing MSI or MSP Packages During SQL Server Service Packs
How To Resolve Missing MSI or MSP Packages During SQL Server Service Packs
Issue:
You receive the following error message when you perform an upgrade:
Cause:
These problems may occur when the Windows Installer database file (.msi) or the Windows Installer
patch file (.msp) is missing from the Windows Installer cache. The Windows Installer cache is located in
the following folder:
%windir%\installer
When a product is installed by using Windows Installer, a stripped version of the original .msi file is
stored in the Windows Installer cache. Every update to the product such as a hotfix, a cumulative
update, or a service pack setup, also stores the relevant .msp or .msi file in the Windows Installer cache.
Any future update to the product such as a hotfix, a cumulative update, or a service pack setup, relies on
the information in the files that are stored in the Windows Installer cache. Without this information, the
new update cannot perform the required transformations.
Sometimes in a hurry to clear up space on C drive, System Administrator might delete some of the files
in this folder. There is no error while deleting, but the actual problem comes up when installing the
hotfix/service pack related to the deleted file’s product.
Resolution:
To complete the steps in this procedure, you have to copy the FindSQLInstalls.vbs script from the "More
Information" section to a local folder on the computer where you are trying to update your SQL Server
installation.
Note The FindSQLInstalls.vbs script collects the information to correct invalid package paths. And, this
script is used against the source locations to make sure that all MSP packages are in the Windows
Installer cache directory. Any missing packages will be re-added if the original source media is available.
2. Open an elevated command prompt to the directory to which you saved the script, and run the
following command:
3. Open the output file from step 2 in a text editor such as Notepad, and identify the problems that are
causing the failure. To do this, search the text file for string patterns such as the following:
The script will collect information about what packages may or may not be missing from the installer
cache. Note: that the output of the script will put a text file in the same folder as the script itself. It will
also overwrite any files that might already be present. If you wish to run this multiple times, I would
suggest changing the file names accordingly.
You will see that in the above example, it’s shouting at me stating that the MSI file doesn’t exist in the
path C:\Windows\Installer\198dfe5a.msi.
But its unable to recreate the file since the source file itself isn’t available Z:\1033_ENU_LP\redist\
VisualStudioShell\SQLSysClrTypes\SQLSysClrTypes.msi
This is because the install media isn’t located within the CD-ROM drive. This was expected.
Now that I knew where the missing file might be located, I set out to go find it. In this particular case, I
located the file on the Service Pack 2 install media. It could be possible that the missing files might be
located in different Products. Validate the Product Name available in the log in order to identify the
missing files root location.
I copied the required media on the server and search for file SQLSysClrTypes.msi. Once you get the file
you can execute the copy command by changing the source location to your location. .
Note: Find all the copy commands in the text file and use them to populate your Windows installer
folder. Those missing files are causing your issue.
5. At this point, it is rinse and repeat. Follow the same steps for each file that was missing from the
installer cache. All in all, there were 40 files that were missing in my case. Once I had all of the files
replaced, I re-ran the Setup and it executed successfully.