July 2017 Description of Preview of Quality Rollup for the .NET Framework 4.6, 4.6.1, 4.6.2, and 4.7 for Windows 8.1, Windows Server 2012 R2, and Windows RT 8.1: July 18, 2017

Applies to: .NET Framework 4.7.NET Framework 4.6.2.NET Framework 4.6.1 More

Introduction


This July 2017 Update for Windows 8.1, Windows Server 2012 R2, and Windows RT 8.1 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

  • All updates for Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2 require update 2919355 to be installed. We recommend that you install update 2919355 on your Windows RT 8.1-based, Windows 8.1-based, or Windows Server 2012 R2-based computer so that you receive updates in the future.
  • 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.

Quality and reliability improvements


This update contains cumulative updates that were released previously starting from 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 to handle out-of-range cases better.

  • Fixes ordering of loader locks to avoid intermittent deadlock during GC with complex generic types.

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

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 a received TDS packet 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 with custom dictionaries can crash abd return 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 hard for end users to select the correct window.

Additional information about this update


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

4032115 July 2017 Preview of the Quality Rollups for the .NET Framework 3.5, 4.5.2, 4.6, 4.6.1, 4.6.2, and 4.7 for Windows 8.1, Windows Server 2012 R2, and Windows RT 8.1: 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 the Microsoft Update Catalog website.

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. Install the ActiveX control to continue.
  5. After the ActiveX control is installed, you see the Microsoft Update Catalog screen. Type 4032115 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 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 .NET Framework 4.6, 4.6.1, 4.6.2, or 4.7 installed.

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, and 4.7 when used with:
    • Windows Server 2012 R2
    • Windows RT 8.1
    • Windows 8.1