SQL Setup ToolSuite Introduction (1) –FixMissingMSI

If you have encountered missing cached MSI/MSP issues during SQL server setup, you may have knew below article:
How to restore the missing Windows Installer cache files and resolve problems that occur during a SQL Server update
https://support.microsoft.com/en-us/help/969052/how-to-restore-the-missing-windows-installer-cache-files-and-resolve-p

In above link it provides a VB script to help you find out those missing MSI/MSP files in windows installer folder and it can even help you recover these files if you recreate the setup source. The VB script works great but if there are lots of missing MSI/MSP files then it could be boring to copy them back one bye one.

The motivation to create this tool, FixMissingMSI is from a case. I worked with a customer to recover missing MSI/MSP files for SQL patch installation. All cached MSI/MSP files are confirmed to be in the cached folder (c:\windows\Installer)  but SQL patch setup just complained error. After a few hours struggling checking the setup log carefully it is found out that the cached MSI/MSP files are the wrong version. My customer was applying 2008 patch but the cached files are from 2008R2. Obviously someone recovered these files with wrong setup source earlier we don't know when.

At that time I was thinking we need to a tool to do this kind of work for us and then I have the idea of FixMissingMSI. It should search installer products and find out those missing/mismatched MSI/MSP files from the cached folder, and fix them for me just with several mouse clicks. Now the tool is available in Github:

https://github.com/suyouquan/SQLSetupTools

It works for all installer based product not limited to SQL server.

In above GitHub link there are actually three tools there, FixMissingMSI, ProductBrowser and SQLRegistryViewer. I will blog about the later two in other articles. Source code is also there you can download it to study how it works.  The binaries are in the release tab of GitHub you can go above link for latest version.  Below link is for version 2.2:

https://github.com/suyouquan/SQLSetupTools/releases/download/V2.2/FixMissingMSI_V2.2ForNET45.zip https://github.com/suyouquan/SQLSetupTools/releases/download/V2.2/FixMissingMSI_V2.2ForNET35.zip

 

FixMissingMSI tool has below interface for your reference:

And its manual is here:
https://github.com/suyouquan/SQLSetupTools/blob/master/FixMissingMSI/Manual/FixMissingMSI%20Readme.pdf