Quality Rollup for .NET Framework 4.6, 4.6.1, 4.6.2, and 4.7 for Windows Server 2012 (KB 4043762)

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

Introduction


This Quality Rollup for Windows Server 2012 includes cumulative reliability improvements in .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 .NET Framework 4.6, 4.6.1, 4.6.2, and 4.7 require the d3dcompiler_47.dll update to be installed. We recommend that you install the included d3dcompiler_47.dll update before you apply this update. For more information about the d3dcompiler_47.dll update, see KB 4019990.
  • 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


Note This update also contains cumulative updates that were released previously starting on October 11, 2016.

Area

Description of the improvements

WPF

After you install the September 12, 2017, .NET Security and Quality Rollups that apply to the .NET Framework 4.6, 4.6.1, 4.6.2, and 4.7, you can experience rendering issues in Windows Presentation Foundation (WPF) applications that are run in Windows services.

When this issue occurs, applications that render WPF visuals onto a bitmap, for example by using RenderTargetBitmap, generate black or transparent images. This can occur if the application is running in the following situations:

  • In a noninteractive Window Station (for example, in a Windows service)
  • Running as a LocalSystem account
  • Running interactively in Session 0 by using tools such as psexec.exe

For more information about this issue, see the following article in the Microsoft Knowledge Base:

4043601 Rendering issues after the September 12, 2017, .NET Security and Quality Rollups are installed

WPF applications that run in Windows Services

This fix automatically addresses this issue and reinstates rendering when a WPF application is run in Windows Services.

If a WPF application is a long-running process that's hosted in Windows Services, it might be susceptible to a performance bug in WPF that causes it to consume a disproportionate amount of CPU cycles in relation to the actual workload. Frequently, these applications eventually crash. An example of a long-running process is one that is not primarily intended to use WPF rendering in short bursts only, such as for rendering occasional bitmaps.

The only supported solution in WPF for fixing this problem includes disabling rendering activities when no valid display devices are found. Applications that run in Windows Services can opt in to this performance fix by setting the Switch.System.Windows.Media.ShouldRenderEvenWhenNoDisplayDevicesAreAvailable AppContext switch. To do this, use one of the following methods:

  • Method 1: Registry

    Set the registry value to force the value to true.
     

    Registry locations

    HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\AppContext
    HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\.NETFramework\AppContext

    Value name

    Switch.System.Windows.Media. ShouldNotRenderInNonInteractiveWindowStation

    Type

    REG_SZ

    Possible values

    "true"
    "false"

    Default

    "false"

  • Method 2: App.config file
     

    Add the following in the <AppContextSwitchOverrides> element of the application configuration file (App.Config):
     

    <configuration>     <runtime>          <AppContextSwitchOverrides value="Switch.Name.One=value1;Switch.Name.Two=value2;Switch.System.Windows.Media. ShouldNotRenderInNonInteractiveWindowStation=true" />     </runtime></configuration>

More information


The following article provides information about supported .NET Framework versions for this Windows version. This includes the month and year of release, update replacement information, and help and support information for the update.

4043769 October 2017 Security and Quality Rollup for .NET Framework 3.5, 4.5.2, 4.6, 4.6.1, 4.6.2 and 4.7 updates for Windows Server 2012 (KB 4043769)

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. You must install the ActiveX control to continue.
  5. After the ActiveX control is installed, you see the Microsoft Update Catalog screen. Type 4043769 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 .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 replaces updates 4035037 and 4032114.

File information

 

How to obtain help and support for this update


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