KB2716439 security update fails to install here when WMI service is running. The installer does not attempt to stop the service or anything, just spits out a ton of logs and leaves the update incomplete. All finished well after stopping the WMI service manually and re-running the hotfix installer. Relevant part of the log:
--------------------------
2012-10-10 01:41:43 Slp: Copying file from 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008\MSSQL\Binn\DllTmp64\sqlagentctr100.dll' to C:\Windows\system32\perf-MSSQL10_50.SQL2008-sqlagtctr.dll.
2012-10-10 01:41:43 Slp: Sco: Attempting to copy file 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008\MSSQL\Binn\DllTmp64\sqlagentctr100.dll' to file 'C:\Windows\system32\perf-MSSQL10_50.SQL2008-sqlagtctr.dll'
2012-10-10 01:41:43 Slp: Sco: Attempting to check if file 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008\MSSQL\Binn\DllTmp64\sqlagentctr100.dll' exists
2012-10-10 01:41:43 Slp: Sco: Attempting to normalize directory path 'C:\Windows\system32\perf-MSSQL10_50.SQL2008-sqlagtctr.dll'
2012-10-10 01:41:43 Slp: Sco: Attempting to set file full path to 'C:\Windows\system32\perf-MSSQL10_50.SQL2008-sqlagtctr.dll'
2012-10-10 01:41:43 Slp: Sco: Attempting to normalize directory path 'C:\Windows\system32\perf-MSSQL10_50.SQL2008-sqlagtctr.dll'
2012-10-10 01:41:43 Slp: Sco: Attempting to check if directory path 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008\MSSQL\Binn\DllTmp64\sqlagentctr100.dll' is equal to path 'C:\Windows\system32\perf-MSSQL10_50.SQL2008-sqlagtctr.dll'
2012-10-10 01:41:43 Slp: Sco: Attempting to check if directory path 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008\MSSQL\Binn\DllTmp64\sqlagentctr100.dll' is equal to path 'C:\Windows\system32\perf-MSSQL10_50.SQL2008-sqlagtctr.dll'
2012-10-10 01:41:43 Slp: Sco: Attempting to normalize directory path 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008\MSSQL\Binn\DllTmp64\sqlagentctr100.dll'
2012-10-10 01:41:43 Slp: Sco: Attempting to normalize directory path 'C:\Windows\system32\perf-MSSQL10_50.SQL2008-sqlagtctr.dll'
2012-10-10 01:41:43 Slp: Error: Action "Microsoft.SqlServer.Configuration.ScoExtension.VerifiedCopyFileAction" threw an exception during execution.
2012-10-10 01:41:43 Slp: Microsoft.SqlServer.Setup.Chainer.Workflow.ActionExecutionException: File C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008\MSSQL\Binn\DllTmp64\sqlagentctr100.dll could not be copied to file path C:\Windows\system32\perf-MSSQL10_50.SQL2008-sqlagtctr.dll.
---> Microsoft.SqlServer.Configuration.ScoExtension.CopyFileException: File C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008\MSSQL\Binn\DllTmp64\sqlagentctr100.dll could not be copied to file path C:\Windows\system32\perf-MSSQL10_50.SQL2008-sqlagtctr.dll.
---> Microsoft.SqlServer.Configuration.Sco.ScoException: The process cannot access the file 'C:\Windows\system32\perf-MSSQL10_50.SQL2008-sqlagtctr.dll' because it is being used by another process. ---> System.IO.IOException: The process cannot access
the file 'C:\Windows\system32\perf-MSSQL10_50.SQL2008-sqlagtctr.dll' because it is being used by another process.
2012-10-10 01:41:43 Slp: at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
2012-10-10 01:41:43 Slp: at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite)
2012-10-10 01:41:43 Slp: at Microsoft.SqlServer.Configuration.Sco.SqlFile.CopyTo(String targetFileFullPath, Boolean bCopyAcl)
2012-10-10 01:41:43 Slp: --- End of inner exception stack trace ---
2012-10-10 01:41:43 Slp: at Microsoft.SqlServer.Configuration.Sco.SqlFile.CopyTo(String targetFileFullPath, Boolean bCopyAcl)
2012-10-10 01:41:43 Slp: at Microsoft.SqlServer.Configuration.ScoExtension.VerifiedCopyFileAction.ExecuteAction(String actionId)
2012-10-10 01:41:43 Slp: --- End of inner exception stack trace ---
2012-10-10 01:41:43 Slp: at Microsoft.SqlServer.Configuration.ScoExtension.VerifiedCopyFileAction.ExecuteAction(String actionId)
2012-10-10 01:41:43 Slp: at Microsoft.SqlServer.Chainer.Infrastructure.Action.Execute(String actionId, TextWriter errorStream)
2012-10-10 01:41:43 Slp: at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.ExecuteActionHelper(TextWriter statusStream, ISequencedAction actionToRun)
2012-10-10 01:41:43 Slp: --- End of inner exception stack trace ---
2012-10-10 01:41:43 Slp: at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.ExecuteActionHelper(TextWriter statusStream, ISequencedAction actionToRun)
2012-10-10 01:41:43 Slp: at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.ExecuteActionWithRetryHelper(WorkflowObject metaDb, ActionKey action, ActionMetadata actionMetadata, TextWriter statusStream)
2012-10-10 01:41:43 Slp: at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.InvokeAction(WorkflowObject metabase, TextWriter statusStream)
2012-10-10 01:41:43 Slp: at Microsoft.SqlServer.Setup.Chainer.Workflow.PendingActions.InvokeActions(WorkflowObject metaDb, TextWriter loggingStream)
2012-10-10 01:41:43 Slp: The configuration failure category of current exception is ConfigurationFailure
2012-10-10 01:41:43 Slp: Watson Bucket 1
Original Parameter Values
2012-10-10 01:41:43 Slp: Parameter 0 : SQL2008@RTM@KB2716439
2012-10-10 01:41:43 Slp: Parameter 1 : Microsoft.SqlServer.Configuration.ScoExtension.VerifiedCopyFileAction.ExecuteAction
2012-10-10 01:41:43 Slp: Parameter 2 : System.IO.__Error.WinIOError
2012-10-10 01:41:43 Slp: Parameter 3 : Microsoft.SqlServer.Configuration.ScoExtension.CopyFileException@1360@3
2012-10-10 01:41:43 Slp: Parameter 4 : System.IO.IOException@-2147024864
2012-10-10 01:41:43 Slp: Parameter 5 : CopyPerfCounterDllToSystemDir
2012-10-10 01:41:43 Slp: Parameter 7 : Microsoft.SqlServer.Configuration.ScoExtension.CopyFileException@CopyFileFailed
2012-10-10 01:41:43 Slp: Parameter 8 : sqlagentctr100.dll
2012-10-10 01:41:43 Slp:
Final Parameter Values
2012-10-10 01:41:43 Slp: Parameter 0 : SQL2008@RTM@KB2716439
2012-10-10 01:41:43 Slp: Parameter 1 : 0x31492EED
2012-10-10 01:41:43 Slp: Parameter 2 : 0x60797DC7
2012-10-10 01:41:43 Slp: Parameter 3 : 0xFDBE3E6D@1360@3
2012-10-10 01:41:43 Slp: Parameter 4 : 0x24C2C4E7
2012-10-10 01:41:43 Slp: Parameter 5 : CopyPerfCounterDllToSystemDir
2012-10-10 01:41:43 Slp: Parameter 7 : 0xCDC6E6DD
2012-10-10 01:41:43 Slp: Parameter 8 : 0xDD73CFED