Missing MSI and MSP files

 If you hit missing MSI/MSP issue, suggest them to try the FixMissingMSI tool developed by Simon https://blogs.msdn.microsoft.com/psssql/2018/01/24/sql-setup-toolsuite-introduction-1-fixmissingmsi/

Here is how SQL Server work with MSI/MSP files, you may need to use this skill to troubleshoot if the FixMissingMSI does not resolve the issue.

MSI and MSP files are stored in c:\windows\installer folder during patching and SQL installation, and will be used in next SQL Server patching/uninstallation.

The patching/uninstallation fails if the files are not there.

For example, the file 47f929.msi was removed in c:\windows\installer. Then how to restore the file?

Here are the steps

1.Search the key word ’47f929.msi’ under the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\.This registry is where MSI files stored .

2.Then we get the Productcode 39ABAC180C729DB4B9E522C7675BF964.

3.The original file is stored in different location but under the same Productcode

1

4.Use the Productcode to search HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\Products\

2

5.The name is stored at PackageName of SourceList

6.Now we are able to target the file by combining the DisplayVersion+LastUsedSource+PackageName.

What about MSP files

It’s little bit complex to handle the MSP files.

1.MSP links to MSI.

2.ALL MSI has 0 or more MSP files.

3

3.Search the Productcode 9B8D98DD6CF467A4D98BAFDCC80F2086 under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\VersionNumber\Patches. Please note ‘InstallProperties’ is for msi file, the ‘Patches’ is for MSP.

4.The Productcode is useful.

5.Use the keyword to search HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Patches, which tells you the cache file name

4

6.Use the Productcode to search HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\Patch\

5

You will get the original file name.

Comments

Post a Comment

popular posts

SQL Server Polybase in Failover cluster instance

Tutorial: Create SQL Cluster(FCI) on RHEL

Configure multiple-subnet Always On Availability Groups and failover cluster instances by modifying CIB

Realcase: Failed to upgrade SQL Server 2016 SP2 CU11. (Installation success or error status: 1648)

How to find SQL Server Replication related jobs and T-SQL statements

SQL Server Extents, PFS, GAM, SGAM and IAM and related corruptions

Tutorial: Add a node to SQL cluster on RHEL

Password is required when adding a database to AG group if the database has a master key

You may fail to backup log or restore log after TDE certification/key rotation

SQL Server GAM corruption samples