Find the Missing MSI & MSP files of SQL Server and fix them using tool or script on Remote Server

Hi Team,

We have been using a tool to apply the SQL patch on multiple servers,
we have been going through the issues post patch that the patch failed on most of servers due to missing MSI files.
Is there a way to identify the missing MSI files and fix them prior to run the patch from the tool.
I know that there is a tool FixMissingMSI to fix the missing MSI files, but we cannot fix in all the servers in very short time.

Kindly help me with the script or tool that will identify the missing MSI files that belongs to SQL and which will try to fix on multiple servers…

Thanks in Advance

3 Spice ups

That is no small ask because it can be one of many many options.

I am afraid since there are various states it could be in requiring their own independent remedies, chances are high any attempt to tackle it in any way other than the MS published may be as likely to end in disaster as success.

It May be possible to take the whole current install media and do a repair, but I would test that on one with a snapshot or good backup before going to scale with it.

1 Spice up

Hi Mike,

Thanks for the response and I have gone through your patch management from Action1, but it seems work for windows or OS level, could you confirm if that works on multiple SQL servers through the Patch management Action1.

Please advice If you gone through any other scripts

A bit late to the party, but I ran into this same headache a few months back – not just with SQL, but with other apps that lost their cached MSI/MSP files across hundreds of servers.

I ended up experimenting with FixMissingMSI.exe through PowerShell to drive it non-interactively (no GUI), scanning multiple shared folders for sources and running its fix commands automatically. After refining it, I packaged everything up and published it to the PowerShell Gallery as FixMissingMSI.PowerShell. GitHub - ITJoeSchmo/FixMissingMSI.PowerShell: PowerShell automation for detecting and restoring missing Windows Installer (MSI/MSP) cache files using FixMissingMSI.

If you’re using MECM, check out the examples/MECM.ps1 in the GitHub repo – it shows how we deployed it across collections. The whole model is built around a shared UNC path so all servers can use a “shared cache.”

You can also throw a new folder into the cache by installer version and tell it to loop and scan all these sources for the missing files and pass those as -SourcePaths when running the repair func e.g.:

\\fileshare\FixMissingMSI\Cache\SQL2019\setup\

\\fileshare\FixMissingMSI\Cache\SQL2019_SP3\setup\

IIRC FixMissingMSI doesn’t check subfolders recursively so be sure you point to the right folder subfolder. Maybe a good idea for me to implement in the next update