Microsoft .NET Core updates will be offered via Microsoft Update
Microsoft announced this week that .NET Core updates will be offered via Microsoft Updates on Windows as of December 2020.
The terminology may be confusing, especially to home users who may only know about Windows Updates. The main difference between Windows Updates and Microsoft Updates is that the latter includes updates for other Microsoft products.
You may know that you can enable an option in Windows Update on your Windows system to get updates for other products via the operating system's automatic updating function.
On Windows 10, you open the Settings app, go to Update & Security > Advanced Options, and check the "Receive updates for other Microsoft products when you update Windows" option on the page that opens. If you want to stop receiving those updates, toggle the option to off instead.
Microsoft points out that the change gives organizations more control over the updating process, as .NET Core updates may be installed via Microsoft Update / Windows Update once it lands. It is completely optional.
Up until now, .NET Core updates were not made available via Microsoft Update because of customer concerns that updates could break functionality. The concern was based on .NET Framework updates, e.g. from 4.5 to 4.8 though as these updates are installed in-place and not side-by-side.
Updates for .NET Core are installed side-by-side for the most part. The only exception are monthly servicing updates as these replace previous monthly servicing updates.
Here are the details on the change:
- .NET Core updates will be offered via Microsoft Update. The technology is an independent product; the .NET Framework is a component of Windows, and as such updated via Windows Update.
- Microsoft Update will maintain one update within each SDK feature band, e.g. version 3.1.10 while previous 3.1.x versions are removed; this is done to reduce the disk footprint of .NET Core installations.
- Microsoft Update will only offer stable .NET Core updates and not for unsupported versions, e.g. Nightly builds.
Administrators may block .NET Core updates from being offered via Microsoft Update. Admins need to approve .NET Core product entries before these become available in managed deployment environments such as WSUS. If the product entries are not approved, no updates will be offered.
Microsoft published a set of Registry keys to block certain or all .NET Core updates outright. The keys work on managed and unmanaged devices.
.NET Core Version | Registry Key | Name | Value |
Block all .NET Core updates | [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NET] | “BlockMU†| dword:00000001 |
Block .NET 5.0 updates | [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NET\5.0] | “BlockMU†| dword:00000001 |
Block Core 3.1 updates | [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NET\3.1] | “BlockMU†| dword:00000001 |
Block Core 2.1 updates | [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NET\2.1] | “BlockMU†| dword:00000001 |
You can use the following Registry files to apply the changes to the system you run them on. Just download the following archive and extract it on your system: block-net-core-updates
You find four Registry files in the archive that block 1) all .NET Core updates, b)Â .NET Core 5.0 updates, c) .NET Core 3.1 updates, and d) .NET Core 2.1 updates on the device.
Check out Microsoft's detailed post on the change for additional details.
Windows home users who don't want .NET Core updates delivered via Microsoft Update need to either apply the Registry values or disable Microsoft Update on the system. Most home users may want these updates to be installed automatically though to stay up to date.
Now You: do you install updates for other Microsoft products automatically?
Hello Martin,
I can see the function on the place you pointed out but its not yet avalibel for use!
Or do I maybe fliped a swithch somewhere else and because of that the fucntion is not avaibel?
I get my .NET Framework updates — and, responding to John G.’s message above, my C++ updates — via WSUS Offline Update, by selecting the corresponding options in WSUS Offline Update’s second (installation) stage. (I don’t have .NET Core installed.) It seems to be working okay, since neither of those packages gets flagged as insecure or out of date after the update has been run.
I’ve been using WSUS Offline Update since January 2017, when they introduced the option to install security-only updates instead of quality-and-security updates. It’s worked pretty well, with the odd fixable glitch, but the initial setup is not computer-novice-friendly:
• It’s portable.
• It runs in two stages (“generating,” i.e., downloading updates in stage 1 and installing them in stage 2).
• If you want Start Menu shortcuts to the executables and logs, you have to make them yourself.
• The executables for the two stages are located in two different folders.
• The logs for the two stages are located in two wildly different locations.
But once that’s done, it’s pretty much just a matter of:
• clicking on the shortcut for stage 1, double-checking the previously selected options, clicking Start, and checking for warnings and errors in the stage 1 log at completion; and then
• clicking on the shortcut for stage 2, selecting your options, clicking Start, rebooting and repeating (“recalling” stage 2) as many times as you’re told to, and checking for warnings and errors in the stage 2 log at completion.
WSUS Offline Update isn’t going to win any “User-Friendly Program of the Year” awards, but it seems to get the job done for me. I almost always get a clean bill of health from Belarc Advisor after running it, and when I don’t, it’s usually because the missing update is suspected of causing problems on some systems. I haven’t trusted Microsoft’s own updating systems since spring 2015, so I’m pleased to have a working alternative … which I originally learned about here on Ghacks. Thanks, Martin!
Quick Addendum:
To install .NET and C++ packages using WSUS Offline Update, you have to enable the options for them in *both* stages. Sorry. I’d forgotten about the stage 1 (“generate”/download) options until I ran WSUS Offline Update twenty minutes ago. Stage 1 retains the options selected during the previous run, so unless your Windows build or MS Office version has changed, you don’t *really* need to think about stage 1 options all that much once you’ve set them, making them easier to forget.
Very useful! Now please also Visual C++ redistributable all versions with Windows Update too! :]
I just got a .net “Preview” update forced on me. Great, now I’m forced to be a guinea pig to see if updates work. Oh wait, they’re already doing that to me.
If we select not to use Microsoft Updates, will we still get .NET security updates via Windows Updates?
Yes. Because the Framework updates are considered part of Windows.
They’re not doing that already?
I thought they were for quite a while.
Not for .NET Core.
.NET Framework and .NET Core are two different things. With the later offers cross platforms compatibility, albeit still hasn’t matured yet and still has very limited features compared to its predecessor.
Now how about explaining the difference between “Core” and Framework”?
Your kinda just leaving us that don’t already know hanging here.
@Dave: Sometimes Google really *is* your friend:
Difference Between .NET and .NET Core
https://www.c-sharpcorner.com/article/difference-between-net-framework-and-net-core/
Updated date Jul 05, 2020
What’s the difference Between .NET Core vs .NET Framework
https://www.amarinfotech.com/difference-between-net-core-2-0-vs-net-framework.html
November 4, 2020
Quick-and-dirty big-picture summary:
.NET Core is the open-source, cross-platform replacement for .NET Framework, but it’s still not as fully developed as .NET Framework and it presents a new learning curve to experienced .NET Framework programmers.
.NET Framework is fully developed and familiar, but it’s Windows-only and no development beyond the current version (4.8) is planned.
Hello Martin,
I have version 2004 build 19041.630 do I understand it correctly that this fucntion is not avalibel yet, for this specific – and older build’s?
I can see the function on the place you pointed out but its not yet avalibel for use!
Or do I maybe fliped a swithch somewhere else and because of that the fucntion is not avaibel?
Microsoft said December so it may be coming later this month. Note that you do need to have the .NET Core versions installed as well.