Hotfix Rollup 2828841 is available for the .NET Framework 4.5 on Windows 7 SP1, Windows Server 2008 R2 SP1, Windows Server 2008 SP2, and Windows Vista SP2


This article describes hotfix rollup 2828841 that 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 7 Service Pack 1 (SP1)
  • Windows Server 2008 R2 SP1 
  • Windows Server 2008 Service Pack 2 (SP2)
  • Windows Vista SP2

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


On a touch device, if a window of a Windows Presentation Foundation (WPF) application 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. This makes 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 files, and then double-click the search results to locate the corresponding activity.
In this scenario, an error dialog 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 enable it to function more accurately in low-memory situations. This results in a change in garbage collection behavior that involves large data sets and potential OOM errors.


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 that contains a big stack that handles the complexity 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, you call the FormatDescription() method), the application may return a NULL value.

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


This issue occurs because of an 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 unexpectedly.


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

Issue 7


Consider the following scenario:
  • You use Microsoft 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 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.
  • "Type Name" in the error message is 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 closes them asynchronously by using the ServiceHost.BeginClose() method. If a channel 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.