Sql-server – Security update failed : The baseline msi is not installed

installationservice-packsql serversql-server-2008

Yesterday we had to apply a security update for SQL Server 2008 SP4(
Current version: 10.0.6000.29) (from KB3045311 and MS15-058) and it failed in both the nodes of a Windows failover cluster and both the nodes are of the same version. The log files only say this:

2015-10-21 02:26:29 Slp: Patch Id KB3045311_sql_engine_core_inst_Cpu64 – NotInstalled on the baseline msi package sql_engine_core_inst_Cpu64. Detail description of this patch package is: PatchId=KB3045311_sql_engine_core_inst_Cpu64 PatchVersion=10.4.6241.0 BaselinePackageId=sql_engine_core_inst_Cpu64 BaselineVersion=10.4.6000.29; PatchFileName=sql_engine_core_inst.msp PatchCode={511E22C9-E550-4C68-994B-AA3F388A4E2F}

2015-10-21 02:26:29 Slp: Patch Id: KB3045311_sql_engine_core_inst_Cpu32 – The baseline msi is not installed. The patch package is ignored.

[…many more of these for different patchIds and clsids…]

The application event logs has this:

Product: Microsoft SQL Server 2008 Database Engine Services – Update
'{511E22C9-E550-4C68-994B-AA3F388A4E2F}' could not be installed. Error
code 1642.

However, the security update for SQL Server 2012 did go through fine which was done at the same time.

Any thoughts about why the SQL Server 2008 SP4 security update is failing?

Best Answer

From the error messages in the summary log, it seems like the baseline MSIs could not be found (perhaps because you cleaned out C:\Windows\Installer?).

I would suggest:

  1. Installing the QFE instead of the GDR (this will attempt to patch you to 10.0.6535, giving you this security fix and a couple of other fixes described here).
  2. Not using Windows Update, but rather applying the patch manually. This may bypass whatever problem Windows Update is having finding the baseline MSIs, and if not, may give you better error messages interactively.
  3. Investigating the log file with the KB article number in the file name, as @Ali suggested.