Hotfix rollup 3096089 for the .NET Framework 4.0 on Windows

Windows 7 Service Pack 1Windows Server 2008 Service Pack 2Windows Server 2008 R2 Service Pack 1

This article describes the hotfix rollup 3096089 that is available for the Microsoft .NET Framework 4.0. For more information about the issues that the hotfix rollup resolves, see the "Issues that this hotfix rollup resolves" section.


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.

More Information


To apply this hotfix, you must have the .NET Framework 4.0 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 doesn't replace a previously released hotfix package.

Issues that this hotfix rollup resolves

Issue 1

In a WPF application, removing an editing control from the visual tree can leak an ImmComposition object. Doing this repeatedly can eventually cause an out-of-memory exception.

Note An "editing control" is any control that creates and uses a TextEditor object. The main examples are TextBox, RichTextBox, and FlowDocumentScrollViewer.

Issue 2

When you try to run a command on the server, it times out on the client side, but finishes on the server. In this situation, the client sends an attention packet to the server and sets itself into a timed-out state. However, it doesn't reset it as soon as it recovers from the timed-out state after the server processed the statement that the client timed out on.

Note A byproduct of this issue will include issues with SqlDataReader reporting HasRows being true. However, calling Read from the SqlDataReader will result in no rows being read.   

This hotfix resets the state of the client when it recovers from the timed-out state.

Known issues 

A fix that was previously released for touch-enabled VSTO add-ins in WPF was found to have a regression in scenarios in which partial-trust applications are used on touch-enabled devices. In these scenarios, customers see an application crash and cannot load a partial trust application. Therefore, the fix for touch-enabled VSTO add-ins has been removed.