The MS15-10 Security Update for Windows Server 2012/R2 Essentials and the Client Restore Functionality

[This post comes to us courtesy of Sabir Chandwale from Global Business Support]

When we try to restore files and folders for a client connected to Windows Server 2012 R2 Essentials or Windows Server 2012 using dashboard, the “Restore Files and Folders” Wizard stops functioning as shown below.

image

In the Event Viewer, we get the following errors in the Application Log:

Log Name:      Application
Source:        Application Error
Date:          2/26/2015 8:07:17 AM
Event ID:      1000
Task Category: (100)
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      CLIENT1.CONTOSO.LOCAL
Description:
Faulting application name: MountBackupWizard.exe, version: 6.3.9600.16384, time stamp: 0x5215cf3c
Faulting module name: KERNELBASE.dll, version: 6.3.9600.17278, time stamp: 0x53eebf2e
Exception code: 0xe0434352
Fault offset: 0x000000000000606c
Faulting process id: 0x7a8
Faulting application start time: 0x01d051ddab4d7e2c
Faulting application path: C:\Windows\System32\Essentials\MountBackupWizard.exe
Faulting module path: C:\Windows\system32\KERNELBASE.dll
Report Id: 88cfa876-bdd1-11e4-8255-00155d593d29
Faulting package full name:
Faulting package-relative application ID:

Log Name:      Application
Source:        .NET Runtime
Date:          2/26/2015 8:07:16 AM
Event ID:      1026
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      CLIENT1.CONTOSO.LOCAL
Description:
Application: MountBackupWizard.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Reflection.TargetInvocationException
Stack:
   at System.RuntimeMethodHandle.InvokeMethod(System.Object, System.Object[], System.Signature, Boolean)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(System.Object, System.Object[], System.Object[])
   at System.Delegate.DynamicInvokeImpl(System.Object[])
   at System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry)
   at System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(System.Object)
   at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
   at System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry)
   at System.Windows.Forms.Control.InvokeMarshaledCallbacks()
   at System.Windows.Forms.Control.WndProc(System.Windows.Forms.Message ByRef)
   at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr, Int32, IntPtr, IntPtr)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG ByRef)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG ByRef)
   at System.Windows.Forms.Application+ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr, Int32, Int32)
   at System.Windows.Forms.Application+ThreadContext.RunMessageLoopInner(Int32, System.Windows.Forms.ApplicationContext)
   at System.Windows.Forms.Application+ThreadContext.RunMessageLoop(Int32, System.Windows.Forms.ApplicationContext)
   at Microsoft.WindowsServerSolutions.DataProtection.UI.Program.Main(System.String[])

In addition to the event viewer we get an exception in the MountBackupWizard.log on the client computer, this log is present in C:\ProgramData\Microsoft\Windows Server\Logs folder:

An exception of type 'Type: Microsoft.WindowsServerSolutions.DataProtection.PCBackup.ObjectModel.PCBackupClientProviderException, BackupClientProvider, Version=6.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' has occurred.
Timestamp: 02/26/2015 08:07:15
Message: Exception of type 'Microsoft.WindowsServerSolutions.DataProtection.PCBackup.ObjectModel.PCBackupClientProviderException' was thrown.

 Workaround: As a workaround we can uninstall the Security Update from the client.

On a Windows 8.1 Client:

Run the command: Get-Hotfix -Id KB3023562
If the hotfix is installed, we will get information with all the details of the Hotfix.
Uninstall the hotfix (you may be prompted to restart the client computer).

On a Windows 8.0 Client:

Run the command: Get-Hotfix -Id KB3023562, KB3004375
If the hotfixes are installed, we will get information with all the details of the Hotfixes.
Uninstall the hotfixes (you may be prompted to restart the client computer).

Once we uninstall the updates, the Restore Files and Folder Wizard functions as expected.

Note: It is advisable to reinstall the update KB3023562 on Windows 8.1 and updates KB3023562 and KB3004375 on Windows 8.0 client once the restoration process completes. Removing a security update will make the client vulnerable. We will update this blog post with a resolution in near future.

Resolution (Updated on 06/16/2015):

A fix for this issue has been included with the following hotfix:

Install the following hotfix on the affected client: KB3045682 (https://support.microsoft.com/en-us/kb/3045682)

Prerequisites for applying the Hotfix: 

Windows 8.1 and Windows Server 2012 R2

To apply this hotfix, you must have update 2919355 installed.

Additionally, you must install the Windows Server Essentials Connector.

Windows 7 and Windows Server 2008 R2

To apply this hotfix, you must have Service Pack 1 for Windows 7 and for Windows Server 2008 R2 installed.

Additionally, you must install the Windows Server Essentials Connector.