July 2017 Description of Preview of Quality Rollup for the .NET Framework 4.6 for Windows Server 2008 SP2 and .NET Framework 4.6, 4.6.1, 4.6.2, 4.7 on Windows 7 SP1 and Windows Server 2008 R2 SP1: July 18, 2017

Applies to: Microsoft .NET Framework 4.7.NET Framework 4.6

Introduction


This July 2017 preview update for Windows Server 2008 Service Pack 2 (SP2) includes cumulative reliability improvements in the .NET Framework 4.6. Additionally, this preview update for Windows 7 Service Pack 1 (SP1) and Windows Server 2008 R2 SP1 includes cumulative reliability improvements in the .NET Framework 4.6, 4.6.1, 4.6.2, and 4.7. We recommend that you apply this update as part of your regular maintenance routines. Before you install this update, see the "Prerequisites" and "Restart requirement" sections.

Important

  • If you install a language pack after you install this update, you must reinstall this update. Therefore, we recommend that you install any language packs that you need before you install this update. For more information, see Add language packs to Windows.

Known issues in this update


If you upgrade to the .NET Framework 4.7 after you apply this update on a touch-enabled device, you may experience COMException errors in your Windows Presentation Framework (WPF) applications. For more information, see the following article in the Microsoft Knowledge Base:

4033488 "COMException" error from WPF applications after the .NET Framework 4.7 is installed on Windows 7 or Windows Server 2008 R2

Quality and reliability improvements


This update contains cumulative updates that were released previously starting on October 11, 2016. Additionally, this update contains fixes to the following issues.

Common language runtime (CLR)

  • Preallocated jump stubs for dynamic methods are improved. Additionally, changes to AMD64 direct calls are improved for better handling of out-of-range cases.

  • Fixed: The ordering of loader locks to avoid intermittent deadlock during GC that involve complex generic types.

  • When arranging an array of struct A and array of struct B as SAFEARRAY, and struct A/B has identical GUIDs, a memory leak may occur.

Entity Framework (EF)

  • If there are more than 1,000 queries in an EF 4.x application, the application may slow down because the size limit of the query cache is exceeded. After you apply this fix, you can change the query cache size through the following appSettings entry:

     <appSettings>    <add key="EntityFramework_QueryCacheSize" value="3000"/> </appSettings>

SQL

  • An OverflowException or IndexOutOfRangeException may be thrown during the prelogin phase of opening a SQL Connection because of receiving a TDS packet that is smaller than expected.

  • When the client opens a connection to the server, sqlclient creates a handle and does not close it when the connection is disposed of. This can cause too many handle leaks if millions of connections open in a short time. This can cause the system to freeze. This fix closes the handles after the connection is closed.

System

Windows Management Infrastructure (WMI)

  • Windows Management Infrastructure (WMI) setting of privileges is event-driven to support changes in the option values.

Windows Presentation Framework (WPF)

  • A Windows Presentation Framework (WPF) application that runs on a touch-enabled or stylus-enabled device may experience crashes that are related to memory corruption in PenIMC.dll. This update addresses these issues.

  • Under certain conditions, WPF applications that use Spellcheck together with custom dictionaries can crash and generate a NullReferenceException error. This especially applies to those applications that call into the SpellCheck.CustomDictionaries.Clear() method. This update addresses this issue.

Winforms

  • Under certain conditions, the menu bar list of child windows in Multiple-Document Interface Windows Forms Applications gets out of sync with the actual list of open child windows. This makes it difficult for users to select the correct window.

Additional information about this update


For more information about this update as it relates to Windows 7 SP1 and Windows Server 2008 R2 SP1, see the following article in the Microsoft Knowledge Base:

4032113 July 2017 Preview of Quality Rollup for the .NET Framework 3.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7 on Windows 7 SP1 and Server 2008 R2 SP1: July 18, 2017

For more information about this update as it relates to Windows Server 2008 SP2, see the following article in the Microsoft Knowledge Base:

4032116 July 2017 Preview of Quality Rollup for the .NET Framework 2.0 SP2, 4.5.2, 4.6 on Windows Server 2008 SP2: July 18, 2017

How to get this update


Windows Update

This update is available through Windows Update. When you turn on automatic updating, this update will be downloaded and installed automatically. For more information about how to get security updates automatically, see Windows Update: FAQ.

Microsoft Update Catalog

To get the stand-alone package for this update, go to one of the following on the Microsoft Update Catalog website:

  • For Windows Server 2008 SP2, click here.
  • For Windows 7 SP1 and Windows Server 2008 R2 SP1, click here.

Windows Software Update Services (WSUS)

On your WSUS server, follow these steps:

  1. Click Start, click Administrative Tools, and then click Microsoft Windows Server Update Services 3.0.
  2. Expand ComputerName, and then click Action.
  3. Click Import Updates.
  4. WSUS opens a browser window in which you may be prompted to install an ActiveX control. You must install the ActiveX control to continue.
  5. After the ActiveX control is installed, you see the Microsoft Update Catalog screen. Type 4032116 for Windows Server 2008 SP2 or 4032113 for Windows 7 SP1 and Windows Server 2008 R2 SP1 in the Search box, and then click Search.
  6. Locate the .NET Framework packages that match the operating systems, languages, and processors in your environment. Click Add to add them to your basket.
  7. After you select all the packages that you need, click View Basket.
  8. Click Import to import the packages to your WSUS server.
  9. To return to WSUS, click Close after the packages are imported.

The updates are now available for installation through WSUS.

Prerequisites

To apply this update, you must have the following installed:

  • The .NET Framework 4.6, 4.6.1, 4.6.2, or 4.7 installed.
  • The D3D Compiler Update (KB4019478 for Windows Server 2008 SP2 or KB4019990 for Windows 7 SP1 and Windows Server 2008 R2 SP1). This update automatically co-installs for Windows Update and Windows Server Update Services (WSUS) customers. Microsoft Update Catalog customers have to first manually download and install the D3D Compiler Update (KB4019478 or KB4019990) that is bundled together with the Catalog update.

Restart requirement

You must restart the computer after you apply this update if any affected files are being used. We recommend that you exit all .NET Framework-based applications before you apply this update.

Update replacement information

This update does not replace any previously released update.

File information

Applies to


This article applies to the following:

 

  • Microsoft .NET Framework 4.6, 4.6.1, 4.6.2, 4.7 when used with:
    • Windows Server 2008 R2 Service Pack 1
    • Windows 7 Service Pack 1
  • Microsoft .NET Framework 4.6 when used with:
    • Windows Server 2008 Service Pack 2