Today, we are happy to announce the Microsoft .NET Framework 4.7.1 is available on Windows Update, Windows Server Update Services (WSUS) and Microsoft Update (MU) Catalog. This includes reliability fixes based on your early feedback on the release. .NET Framework 4.7.1 is available for the following client and server platforms:
- Client platforms: Windows 7 SP1, Windows 8.1, Windows 10 Anniversary Update (Version 1607), Windows 10 Creators Update (Version 1703)
- Server platforms: Windows Server 2008 R2 SP1, Windows Server 2012, Windows Server 2012 R2 and Windows Server 2016
These reliability fixes are also available on Download Center as a standalone update (KB4054856). If you installed .NET Framework 4.7.1 via Download Center, please install KB4054856. This update applies on the client and server platforms mentioned above.
.NET Framework 4.7.1 is included in the Windows 10 Fall Creators Update (Version 1709), released in October 2017. These .NET Framework 4.7.1 reliability fixes will be included in an upcoming Cumulative Update for Windows 10 Fall Creators Update and Windows Server 2016 Version 1709.
Reliability fixes
The following fixes are included:
Base Class Library (BCL)
- Applications targeting .NET 4.6.1 that use .NET Standard libraries might be broken when running on .NET Framework 4.7.1.
- CultureAwareComparer with ignore casing serialized on previous versions of .NET Framework does not correctly deserialize on .NET Framework 4.7.1.
- Applications making heavy use of System.Diagnostics.StackTrace or Exception.StackTrace might run more slowly on the .NET Framework 4.7.1.
Windows Presentation Framework (WPF)
- Certain dual GPU machines may experience visual artifacts while running WPF apps in high contrast.
- In specific scenarios, the System.Windows.Controls.PrintDialog() throws an Arithmetic Overflow exception.
You can see the complete list of improvements for .NET Framework 4.7.1 in the .NET Framework 4.7.1 release notes.
Knowledge Base Articles
You can reference the following Knowledge Base Articles for the WU/WSUS/Catalog release:
|
.NET Framework 4.7.1 Redistributable |
.NET Framework 4.7.1 Reliability fixes |
.NET Framework 4.7.1 Language Pack |
Windows 7 SP1 /Windows Server 2008 R2 | KB4033342 | KB4054852 (Co-installed with KB4033342 on WU/WSUS/Catalog) | KB4033339 |
Windows Server 2012 | KB4033345 | KB4054853 (Co-installed with KB4033345 on WU/WSUS/Catalog) | KB4033343 |
Windows 8.1/Windows Server 2012 R2 | KB4033369 | KB4054854 (Co-installed with KB4033369 on WU/WSUS/Catalog) | KB4033417 |
Windows 10 Version 1607 | KB4033393 | KB4054855 (Co-installed with KB4033393 on WU/WSUS/Catalog) | KB4033418 |
Windows 10 Version 1703 | KB4033393 (Catalog Only) | KB4054855 (Available for installation with KB4033393 in Catalog only) | KB4033418 (Catalog only) |
Windows Server 2016 | KB4033393 (Catalog Only) | KB4054855 (Available for installation with KB4033393 in Catalog only) | KB4033418 (Catalog only) |
How is this release available?
Automatic Updates
.NET Framework 4.7.1 is being offered as a Recommended update. The reliability fixes for .NET Framework 4.7.1 will be co-installed with .NET Framework 4.7.1. At this time, we’re throttling the release like what we have done with previous .NET Framework releases. Over the next few weeks we will be closely monitoring your feedback and will gradually open throttling.
While the release is throttled, you can use the Check for updates feature to get .NET Framework 4.7.1.
Note: throttled updates are offered at a lower priority than unthrottled updates, so if you have other Recommended or Important updates pending those will be offered before this update.
Once we open throttling, in most cases you will get the .NET Framework 4.7.1 with no further action necessary. If you have modified your AU settings to notify but not install you should see a notification in the system tray about this update.
The deployment will be rolled out to various geographies globally over several weeks. So, if you do not get the update offered on the first day and do not want to wait until the update is offered, you can use the Check for updates feature, as described above.
Windows Server Update Services (WSUS) and Catalog
WSUS administrators will see this update in their WSUS admin console. The update is also available in the MU Catalog for download and deployment.
When you synchronize your WSUS server with Microsoft Update server (or use the Microsoft Update Catalog site for importing updates), you will see the updates for .NET Framework 4.7.1 published for each platform.
More Information
Language Packs
In addition to the language neutral package the .NET Framework 4.7.1 Language Packs are also available on Windows Update. These can be used to if you have a previous language pack for .NET installed as well as if you don’t, but instead have a localized version of the base operating system or have one or more Multilingual User Interface (MUI) pack installed.
Blocking the automatic deployment of .NET 4.7.1
Enterprises may have client machines that connect directly to the public Windows Update servers rather than to an internal WSUS server. In such cases, an administrator may have a need to prevent the .NET Framework 4.7.1 from being deployed to these client machines to allow testing of internal applications to be completed before deployment.
In such scenarios, administrators can deploy a registry key to machines and prevent the .NET Framework 4.7.1 from being offered to those machines. More information about how to use this blocker registry key can be found in the following Microsoft Knowledge Base article:
KB4052152: How to temporarily block the installation of the .NET Framework 4.7.1 and its corresponding language packs
FAQ
What do I need to do if I already have .NET Framework 4.7.1 product installed?
If you installed .NET Framework 4.7.1 via Download Center, please install KB4054856, also available on Download Center as a standalone update. KB4054856 includes reliability improvements for .NET Framework 4.7.1.
Do I still need to install KB4054856 if I am getting .NET Framework 4.7.1 from Windows Update/WSUS?
No, .NET Framework 4.7.1 via Windows Update and WSUS will co-install the reliability fixes in KB4054856.
How can I get the reliability fixes for Windows 10 Creators Update (Version 1709)?
These reliability fixes will be available via an upcoming Windows Cumulative update for Windows 10 Creators Update (Version 1709).
What is the offering type for .NET Framework 4.7.1 on Windows Update?
.NET Framework 4.7.1 is being offered as a Recommended update.
If this is a new version of .NET Framework, why isn’t it called 4.7.2 or 4.7.1.1? It makes your post very confusing to read, and if these changes fix (or break) my application it’s not going to be at all obvious that it’s because of the .NET Framework version.
.NET Framework 4.7.1 product shipped on Download Center in October 2017. As of today, .NET Framework 4.7.1 is available on WU/WSUS/MU Catalog as well along with reliability fixes. .NET Framework 4.7.1 release key to detect .NET Framework versions installed on a device (documented @ https://docs.microsoft.com/en-us/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed) applies here as well.
We update .NET Framework versions almost every patch Tuesday. We don’t make any of these updates targetable, so we don’t change the version number. We timed the release of these fixes with the release of .NET Framework 4.7.1 on Windows Update so that they would be available as we updated a large user base.
Will the Dev Pack being re-distributed as well?
The developer pack was released back in October: https://blogs.msdn.microsoft.com/dotnet/2017/10/17/announcing-the-net-framework-4-7-1/
FWIW, we sure had a lot of problems after letting this install via WSUS last night. PowerShell ISE crashed. SQL Server Management Studio crashed. Several third party apps. Don’t recall ever having issues after an update like this.
@James – Please provide more details on the problems – particularly the Operating System you are seeing the problem on and errors/exceptions and .NET Framework KBs installed that causes these problems? Please open an issue on .NET Framework GitHub repo @ https://github.com/Microsoft/dotnet/issues with these details and we will investigate this. Thanks.
Having read the responses to Ian Thomas’s question I don’t believe that either provided a full answer. I think Ian made a good point – if there is a problem with any update isn’t it easier to identify the problem by having a distinct reference for each update, especially if the error is in one of the previous updates?
Good point. That’s what the KB numbers are for. We just don’t consider it a version number.
That said, we have been thinking about better release notes. We’ll put this in the set of requests we’ve had for better release notes. Point taken.
re: “Do I still need to install KB4054856 if I am getting .NET Framework 4.7.1 from Windows Update/WSUS?
No, .NET Framework 4.7.1 via Windows Update and WSUS will co-install the reliability fixes in KB4054856.”
on january 9, i synced my wsus server with the catalog. i got KB4033342 (.net 4.7.1) and “Security and Quality Rollup for .NET Framework 3.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, and 4.7.1 updates for Windows 7 SP1 and Server 2008 R2 SP1 (KB4055532).” wsus guys love it when “new dotnet version” and “security update to new dotnet version” get to be installed at the same time, by the way. because it never ends up requiring two reboots. never.
these two KBs were installed on server1 on January 12th, and server2 on january 23rd. both servers are 2008 r2. on january 24th, a problem was discovered with an app running on both servers that was traced to dotnet. on both servers, there were two “installed updates” to .net 4.7.1 in control panel: KB4054856 and KB4055002. the latter is not mentioned anywhere in this blog post. we uninstalled only KB4054856, and the app started working again on both servers.
on january 18th, microsoft released an updated version to “Security and Quality Rollup for .NET Framework 3.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, and 4.7.1 updates for Windows 7 SP1 and Server 2008 R2 SP1 (KB4055532),” but we did not get this new version of the update rollup until we synced our wsus server again on january 24th. when i installed the new version of this update rollup to server1 and server2, it did NOT reinstall KB4054856, it instead installed a new update, KB4074880.
so: server1 and server2 currently show KB4055002 and KB4074880 as “installed updates” to .net 4.7.1 in control panel, but do not show KB4054856, and both servers believe they are fully patched.
on January 28th, i installed, on a new server, server3, also 2008 r2, which had never had either kb installed previously, both KB4033342 (.net 4.7.1) and the updated verion of “Security and Quality Rollup for .NET Framework 3.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, and 4.7.1 updates for Windows 7 SP1 and Server 2008 R2 SP1 (KB4055532)”. when i was finished, the only “installed update” for .net 4.7.1 appearing in control panel was KB4054856.
so: neither of the two KBs that appear as installed updates on server1 or server2 after installing KB4033342 (.net 4.7.1) and the updated verion of “Security and Quality Rollup for .NET Framework 3.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, and 4.7.1 updates for Windows 7 SP1 and Server 2008 R2 SP1 (KB4055532)” appear on server3 as installed updates after installing the same two patches on all three servers.
to preemptively fix the broken app on server3, i uninstalled KB4054856 from server3, leaving no “installed updates” for .net 4.7.1 in control panel. i rebooted, and Checked For Updates in the update client gui. it detected “Security and Quality Rollup for .NET Framework 3.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, and 4.7.1 updates for Windows 7 SP1 and Server 2008 R2 SP1 (KB4055532)” was missing and needed to be installed.
so: after uninstalling KB4054856 from server1 and server2, installing the ‘new’ version of “Security and Quality Rollup for .NET Framework 3.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, and 4.7.1 updates for Windows 7 SP1 and Server 2008 R2 SP1 (KB4055532)” on both server did NOT reinstall KB4054856. but after uninstalling KB4054856 from server3, server3 detected that “Security and Quality Rollup for .NET Framework 3.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, and 4.7.1 updates for Windows 7 SP1 and Server 2008 R2 SP1 (KB4055532)” was not installed. reinstalling the update rollup to server3 reinstalled KB4054856.
server1 and server2 do not have KB4054856, but believe they are fully patched. but if i remove KB4054856 from server 3, it will detect that it’s not fully patched, and is missing the update rollup KB4055532.
Where can I pull all the .Net Framework info and KB patches for a server? The registry is a jumble for .Net Framework.
I need to be able to manage what version is on servers.
You can find out what is installed on the server by matching the .NET product registry key with the available 4.X product versions from https://docs.microsoft.com.
– Check from the registry the Release key value under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full and find the match in https://docs.microsoft.com/en-us/dotnet/framework/migration-guide/versions-and-dependencies
To uninstall a specific version you will need to visit the Download center page or the KB article for the instructions, like for .NET 4.7.1 you can visit https://www.microsoft.com/en-us/download/details.aspx?id=56116 that lists the KB/product that you can remove from Programs and Features in Control Panel.
Thanks Vivek,
That registry key is weak.
I was hoping for not such a manual process to manage our server farms.
I had to collect 8 KB’s for the last go round
Wouldn’t the C# code / PowerShell script to query the KBs installed work for your scenario? These code snippets are provided @ https://docs.microsoft.com/en-us/dotnet/framework/migration-guide/how-to-determine-which-net-framework-updates-are-installed – let us know accordingly. Thanks.
Tenable SecurityCenter is flagging .NET Framework “SMDiagnostics.dll” file, version 4.7.2558.0, as having a denial of service vulnerability. See Tenable plugin 105731, https://www.tenable.com/plugins/nessus/105731.
The recommended fix is to install .NET Framework version 4.7.2612. Where can I get an installable copy of .NET v4.7.2612 to install on Windows Server 2008 R2 and 2012 R2 VMs?
You should be able to find the fix in the KBs listed in The .NET Framework February 2018 Security and Quality Rollup. Details are @ https://blogs.msdn.microsoft.com/dotnet/2018/02/13/net-framework-february-2018-security-and-quality-rollup/
Can you update this article to document which Windows Cumulative update for Windows 10 Version 1709 contains the fix (especially for item #1)? It looks like it might be https://support.microsoft.com/en-us/help/4058258 based on some ad-hoc testing I did, but it’s not listed as a fix and it would be great for it to be confirmed and documented. Thank you.