Hotfix Rollup 2828842 is available for the .NET Framework 4.5 in Windows 8, Windows RT, and Windows Server 2012


This article describes hotfix rollup 2828842. This hotfix is available for the Microsoft .NET Framework 4.5. For more information about the issues that the hotfix resolves, see the "More information" section.

This hotfix rollup is available for the following operating systems:
  • Windows 8
  • Windows RT
  • Windows Server 2012

More Information

Hotfix information

A supported hotfix is now available from Microsoft. However, it is intended to correct only the problem that this article describes. Apply it only to systems that are experiencing this specific problem.

To resolve this problem, contact Microsoft Customer Support Services to obtain the hotfix. For a complete list of Microsoft Customer Support Services telephone numbers and information about support costs, visit the following Microsoft website:Note In special cases, charges that are ordinarily incurred for support calls may be canceled if a Microsoft Support Professional determines that a specific update will resolve your problem. The usual support costs will apply to additional support questions and issues that do not qualify for the specific update in question.


To apply this hotfix, you must have the .NET Framework 4.5 installed.

Restart requirement

You have to restart the computer after you apply this hotfix if any affected files are being used. We recommend that you close all .NET Framework-based applications before you apply this hotfix.

Hotfix replacement information

This hotfix package does not replace a previously released hotfix package.

Issues that this hotfix rollup resolves

Issue 1


If a window of a Windows Presentation Foundation (WPF) application on a touch device is changed to a disabled state while at least one of your fingers is touching the window, the touch input freezes.

Note When this issue occurs, the application ignores any later touch input. This issue may occur when you touch a button to start a modal window, such as when you are using the Window.ShowDialog method. If you touch the button by using two fingers, one finger may still be touching the main window when it is disabled.


This hotfix corrects the handling of touch input for disabled windows by making sure that touch input continues to be processed.

Issue 2


Consider the following scenario:
  • You are working on a .NET Framework 4.5-based workflow project in Microsoft Visual Studio 2012.
  • The workflow project satisfies the following conditions:
    • You have the System.Activities.Presentation.dll assembly in the project reference.
    • You have created at least one custom activity, and you have added at least two instances of a custom activity in a workflow.
  • You try to perform one of the following actions:
    • Right-click the workflow designer design surface.
    • Press F9 to set a breakpoint on an activity.
    • Search in some files, and then double-click the search results to locate the corresponding activity.
In this scenario, an error dialog box that contains the following information appears:

Workflow Designer
An item with the same key has already been added.
at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value)
at System.Activities.Presentation.Xaml.ObjectToSourceLocationMapping.UpdateSourceLocationToModelItemMapping(IEnumerable`1 modelItemsOnDesigner)
at System.Activities.Presentation.Xaml.ObjectToSourceLocationMapping.EnsureUpdated()
at System.Activities.Presentation.Debug.DebuggerService.EnsureSourceLocationUpdated()
at System.Activities.Presentation.Debug.DebuggerService.GetSourceLocationFromModelItem(ModelItem modelItem)
at System.Activities.Presentation.Debug.DebuggerService.get_SelectedLocation()
at System.Activities.Presentation.View.DesignerView.<InitializeMenuActions>b__14(WorkflowViewElement selection)
at System.Activities.Presentation.View.DesignerView.OnInsertBreakpointMenuLoaded(Object sender, RoutedEventArgs e)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
at System.Windows.BroadcastEventHelper.BroadcastEvent(DependencyObject root, RoutedEvent routedEvent)
at System.Windows.BroadcastEventHelper.BroadcastLoadedEvent(Object root)
at MS.Internal.LoadedOrUnloadedOperation.DoWork()
at System.Windows.Media.MediaContext.FireLoadedPendingCallbacks()
at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()
at System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)
at System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget)
at System.Windows.Media.MediaContext.Resize(ICompositionTarget resizedCompositionTarget)
at System.Windows.Interop.HwndTarget.OnResize()
at System.Windows.Interop.HwndTarget.HandleMessage(WindowMessage msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Interop.HwndSource.HwndTargetFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)

Issue 3


After you upgrade a server from the Microsoft .NET Framework 4 to the .NET Framework 4.5, some applications may throw Out-Of-Memory (OOM) errors. This issue is more likely to occur for applications that cache large data sets, such as applications that perform live video streaming. 


This issue occurs because the .NET Framework 4.5 includes optimizations to the 64-bit version of the .NET Framework garbage collector that help it function more accurately in low-memory situations. This change introduces large data sets and potential OOM errors into the garbage collection process.


After you apply the hotfix, the garbage collection optimizations are adjusted to account for large data sets.

Issue 4


Consider the following scenario:
  • You are using the .NET Framework 4.5 version of the System.Xml assembly.
  • You try to compile a very complex XSLT sheet.
  • You compile the XSLT sheet on a separate thread. This thread contains a big stack that handles the complex task of compiling the XSLT sheet.
In this scenario, an XsltException exception occurs, and you receive the following error message:
The stylesheet is too complex.

Issue 5


When you call some methods of the System.Diagnostics.Eventing.Reader.EventRecord class in a .NET Framework 4.5-based application (for example, when you call the FormatDescription() method), the application may return a NULL value.

Note This issue occurs only when an exact locale or region is not installed on your computer.


This issue occurs because of incorrect language fallback behavior. 

Issue 6


When you send many concurrent requests that have the same SessionId to an ASP.NET 4.5 web application, some requests may freeze at the RequestAcquireState stage.


After you apply the hotfix, the hotfix makes sure that the EndRequest event will always be triggered.

Issue 7


Consider the following scenario:
  • You use Windows Workflow Foundation interfaces (System.Workflow.Activities.dll) to define activities.
  • There is an ExternalDataExchange interface that uses multiple CorrelationParameterAttribute entries in order to match external events with multiple instances of the same workflow definition.
  • At least one of the parameters of the CorrelationParameterAttribute entries is of a different type.
In this scenario, when a workflow instance is reloaded from persistence, an argumentException exception occurs. Additionally, you receive an error message that resembles the following:
Object must be of type <Type Name>
  • The issue occurs in the 3.0, 3.5, 4.0, and 4.5 versions of Windows Workflow Foundation.
  • The <Type Name> placeholder represents one of the correlation parameter types.


The issue occurs because of a dependency on member reflection ordering by the workflow runtime.

Issue 8


You have a .NET Framework 4.5-based application that opens Windows Communication Foundation (WCF) ServiceHost instances and then closes them asynchronously by using the ServiceHost.BeginClose() method. If a channel that's used by the ServiceHost instances cannot be closed within the configured time-out limit during peak load periods, the application may exit unexpectedly.


After you apply the hotfix, the ServiceHost.BeginClose() method logic is changed to catch and handle all exceptions during an asynchronous close. If a TimeoutException exception occurs, the exception will now be traced, and the application will not exit.