Are you getting the following Cached MSI file missing error (Error Code 0x84B20002) while trying to do SQL Server Service pack or cumulative packs upgrades? If yes, this article will help understand the error and its resolution.
The Windows Installer Cache folder (C:\Windows\Installer) stores files for installed applications using the Windows installer technology. These files help upgrade or uninstall the applications. If you have deleted files from the installer folder, you get the error in missing MSI MSP files while applying the SQL Server service pack or cumulative packs.
MSI file: Windows Installer database file
MSP file: Windows Installer patch file
Once you install SQL Server, its original MSI files are stored in the installer folder. The following service pack or cumulative pack also stores the relevant MSI or MSP files in the cache folder. The subsequent upgrades rely on these cache files. Therefore, if SQL Server cannot find them, you get errors about missing MSI or MSP files.
The solution of missing SQL Server patching MSI or MSP files for SQL Server patching
Navigate to the GitHub repository (https://github.com/suyouquan/SQLSetupTools/releases/) and download the latest version of the FixMissingMSI tool. It downloads a compressed FixMissingMSI_V2.2.1_For_NET45.zip.
Copy the Zip file onto the Server where we get the MSI or MSP error and unzip it. Double-click on the FixMissingMSI file to launch the tool.
It launches the following application to scan SQL Server-related missing MSI\MSP errors.
Click on Scan now and press Yes.
As shown below, it reports 109 missing files for my demo SQL instance. We need to fix these missing MSI files to successfully upgrade SQL Server.
Before we fix it, let’s understand the tool output.
Package name: This column gives the missing MSI or MSP file name
CachedMsiMap: The Windows Installer folder stores the MSI or MSP file using the cached name. It is system generated file name. SQL Server service pack or Cumulative pack upgrade looks for the same cached file name in the installer folder.
Product version: It is the Product version of the MSI file. This product version is the same as the SQL Server product version. You need to copy the same MSI file version into the installer folder. For example, if it reflects SQL Server 2016 SP2 version, you cannot copy RTM or SP1 file.
Product Name: It is the SQL Server product name
We identified that my SQL Server has 109 missing files, and I need to fix them to apply the SQL Server service pack or Cumulative pack. It seems complicated, right? Let’s fix it using a simple solution.
First, identify the existing SQL Server version, edition, and applied service pack or cumulative packs for your SQL Server instance.
Launch Control Panel and installed updates.
As shown below, it lists the following for my SQL instance.
Service Pack 2 ( KB4052908)
Therefore, we need the files from Service pack 2 ( KB4052908), Hotfix 5865(KB4583461), i.e., CU15, and the RTM version.
We need to extract setup files in a single folder with the following subfolders.
Once you download the CU or service pack from Microsoft, you get an EXE file like the one below.
To extract the files, launch the command prompt and navigate to a directory with EXE and extract it using the /x:foldername argument. The following query extract EXE files into the CU15 folder in the same directory
Once the command completes, you can see the CU15 folder with extracted content
Similarly, you can extract the pre-installed versions of EXE and store them in a single folder, as shown above.
Now, re-launch the FixMissingMSI application and provide the location of your folder that contains all extracted files, as shown below.
Now, click on Scan, and it will report the same number of missing MSI files. As shown below, I still have 109 missing MSI files.
Go to Fix-> Fix All
Provide your confirmation for automatically fixing the MSI files. It fixed 108 items, and I have only 1 missing file now. Sometimes, it might not fix all missing MSI or MSP files, but it’s okay as SQL Server patching might work without these files. If you still get an error, try to manually fix the remaining MSI or MSP files.
You can try running your SQL Server service pack or cumulative update, and it should work. This tool will save you from the last-minute hustle and resolve the SQL Server patching missing MSI\MSP files.