My name is HarshDeep Singh, and I am a SQL Server engineer with Microsoft CSS. I've been working on SQL Server for quite some time, and the intention behind starting this blog is to try and share my knowledge with the SQL Server community. Any feedback or suggestions on the blog are both welcome and solicited. Please feel free to drop me a line on firstname.lastname@example.org anytime.
I recently worked on a number of issues where SQL Server Service Pack/patch installation would fail, and we would see this error in the relevant Detail.txt (located in C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\<Date time of the installation attempt> for SQL 2008/2008 R2):
2013-04-07 20:14:07 Slp: Package sql_bids_Cpu64: - The path of cached MSI package is: C:\Windows\Installer\5c23b5e.msi . The RTM product version is: 10.50.1600.1
2013-04-07 20:14:07 Slp: Error: Action "Microsoft.SqlServer.Configuration.SetupExtension.InitializeUIDataAction" threw an exception during execution.
2013-04-07 20:14:13 Slp: Received request to add the following file to Watson reporting: C:\Users\kalerahul\AppData\Local\Temp\2\tmpCC09.tmp
2013-04-07 20:14:13 Slp: The following is an exception stack listing the exceptions in outermost to innermost order
2013-04-07 20:14:13 Slp: Inner exceptions are being indented
2013-04-07 20:14:13 Slp:
2013-04-07 20:14:13 Slp: Exception type: System.Resources.MissingManifestResourceException
2013-04-07 20:14:13 Slp: Message:
2013-04-07 20:14:13 Slp: Could not find any resources appropriate for the specified culture or the neutral culture. Make sure "Errors.resources" was correctly embedded or linked into assembly "Microsoft.SqlServer.Discovery" at compile time, or that all the satellite assemblies required are loadable and fully signed.
2013-04-07 20:14:13 Slp: Stack:
2013-04-07 20:14:13 Slp: at System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo culture, Boolean createIfNotExists, Boolean tryParents)
2013-04-07 20:14:13 Slp: at System.Resources.ResourceManager.GetObject(String name, CultureInfo culture, Boolean wrapUnmanagedMemStream)
2013-04-07 20:14:13 Slp: at Microsoft.SqlServer.Discovery.MsiException.GetErrorMessage(Int32 errorNumber, CultureInfo culture)
2013-04-07 20:14:13 Slp: at Microsoft.SqlServer.Discovery.MsiException.GetErrorMessage(MsiRecord errorRecord, CultureInfo culture)
2013-04-07 20:14:13 Slp: at Microsoft.SqlServer.Discovery.MsiException.get_Message()
2013-04-07 20:14:13 Slp: at System.Exception.ToString()
2013-04-07 20:14:13 Slp: at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionEngine.RunActionQueue()
2013-04-07 20:14:13 Slp: at Microsoft.SqlServer.Setup.Chainer.Workflow.Workflow.RunWorkflow(WorkflowObject workflowObject, HandleInternalException exceptionHandler)
2013-04-07 20:14:13 Slp: at Microsoft.SqlServer.Chainer.Setup.Setup.RunRequestedWorkflow()
2013-04-07 20:14:13 Slp: at Microsoft.SqlServer.Chainer.Setup.Setup.Run()
2013-04-07 20:14:13 Slp: at Microsoft.SqlServer.Chainer.Setup.Setup.Start()
2013-04-07 20:14:13 Slp: at Microsoft.SqlServer.Chainer.Setup.Setup.Main()
Now that's a weird and hard to understand error, isn't it? However, look closely at what the setup is trying to do, and you will see that it's trying to access the following file from the installer cache: C:\Windows\Installer\5c23b5e.msi
Open the installer cache and try to install the msi manually. If it succeeds, try running the patch setup again and it should proceed beyond the error this time. If the msi setup fails, then you will need to troubleshoot that first, before the patch setup proceeds further. This behaviour is expected, in that the service pack setup will try to access the msi's (Microsoft Installer files, installed with the base installation of SQL) and msp's (Microsoft Patch files, installed by Service packs, CU's and hotfixes) of each of the installed components of SQL Server. If it's unable to access/run any of these, the Service pack setup will fail.
Hope this helps.