This July 2017 Update for Windows Server 2012 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.
- 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 when struct A/B have 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>
An OverflowException or IndexOutOfRangeException may be thrown during the prelogin phase of opening a SQL Connection because a TDS packet received 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.
White space normalization during schema validation is updated to conform with the W3C XML Schema specification.
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 this issue.
Under certain conditions, WPF applications that use SpellCheck together with custom dictionaries can crash and return a NullReferenceException error. This especially applies to those applications that call into the SpellCheck.CustomDictionaries.Clear() method. This update addresses this issue.
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 Server 2012, see the following article in the Microsoft Knowledge Base:
4032114 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 Server 2012: July 18, 2017
How to get this 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:
- Click Start, click Administrative Tools, and then click Microsoft Windows Server Update Services 3.0.
- Expand ComputerName, and then click Action.
- Click Import Updates.
- WSUS opens a browser window in which you may be prompted to install an ActiveX control. Install the ActiveX control to continue.
- After the ActiveX control is installed, you see the Microsoft Update Catalog screen. Type 4032114 in the Search box, and then click Search.
- Locate the .NET Framework packages that match the operating systems, languages, and processors in your environment. Click Add to add them to your basket.
- After you select all the packages that you need, click View Basket.
- Click Import to import the packages to your WSUS server.
- To return to WSUS, click Close once the packages are imported.
The updates are now available for installation through WSUS.
To apply this update, you must have the following installed:
- The .NET Framework 4.6, 4.6.1, 4.6.2, or 4.7
The D3D Compiler Update (KB4019990) - This update will automatically co-install 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 (KB4019990) that is bundled with the Catalog update.
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.