Never10 - Control Windows 7 & 8.1 Upgrading to Windows 10



Never10 does NOT prevent the installation of Windows updates, including
the infamous Get Windows 10 (GWX) update KB3035583.  Never10 simply
employs Microsoft's documented and sanctioned configuration settings to
instruct it NOT to change the installed version of Windows.
Never 10 is an easy to use utility which gives users control over
whether their Windows 7 or 8.1 will upgrade itself to Windows 10.


The name “Never 10” is a bit of an overstatement, since this utility may also be used to easily re-enable Windows operating system automatic upgrading. But the primary reason for using this is to disable Windows' pestering insistence upon upgrading Windows 7 or 8.1 to Windows 10.
Many users of Windows 7 and 8.1 are happy with their current version of Windows, and have no wish to upgrade to Windows 10. There are many reasons for this, but among them is the fact that Windows 10 has become controversial due to Microsoft's evolution of their Windows operating system platform into a service which, among other things, aggressively monitors and reports on its users activities. This alone makes many users uncomfortable enough to cause them to choose to wait. In line with this, a few months into 2016, Windows 10 started displaying unsolicited advertisements on its users' desktops. Others dislike the changes Microsoft made by merging their failed “tiled” smartphone user-interface into the Windows UI. And, finally, some object to being force-fed whatever Microsoft wants and simply wish to choose for themselves.
In July of 2015, responding to the significant user backlash, Microsoft added features to its Windows Update facility which allow it to be configured, on a machine-by-machine basis, to not forcibly upgrade qualifying Windows 7 and 8.1 operating systems to Windows 10. However, Microsoft did not make this configuration simple. It requires the use of the group policy editor (which is not present in some qualifying systems) and/or the system registry. In other words, they created some deep internal configuration options but chose not to provide a simple user-interface to give their users the choice. “Never10” provides that choice.

The elegance of this “Never 10” utility, is that it does not
install ANY software of its own
. It simply and quickly
performs the required system editing for its user.
  • If the system being configured has a version of Windows Update which is older than the required July 2015 release—which would mean that the “upgrade disable” options are not yet present—this utility will notify its user (see the sample display screens above) and offer to download and install the required update to Windows Update so that Windows can then be configured not to upgrade itself to Windows 10.
  • If Microsoft's GWX (Get Windows 10) had already secretly and silently downloaded the Windows 10 files into a hidden directory (this can be squatting on more than 6.5 gigabytes of your hard drive space), Never10 will show the exact count and amount of files and allow its user to remove them with one click.
Since this utility simply updates and/or configures the system to prevent or allow,
OS upgrading, it may be deleted after it has configured the system appropriately.
Using this utility, inexperienced users will be able to easily use Never10 themselves, while advanced users will likely appreciate that fact that no additional software is installed and will be able to refer friends and family, whom they support, to this easy-to-use utility.
Never10 v1.3 adds quiet command-line options for enterprise users. See the Command line options page for usage details.
Never 10

What it does . . .
The first thing Never10 does upon starting is verify that it's running on a non-Enterprise edition of either Windows 7, 8, or 8.1. Those are the only versions of Windows that qualify for automatic upgrading through the Windows Update facility.
If the edition and version of Windows qualifies, it then checks the file version of the Windows Update AutoUpdate Client wuauclt.exe located in the Windows system directory. For Windows 7, the wuauclt.exe version is compared against [7.6.7601.18971]. For Windows 8.x, the wuauclt.exe version is compared against [7.9.9600.17930]. In either case, those are the versions of the respective July 2015 updates to Windows Update which added the ability to disable the GWX (Get Windows 10) group policy and registry settings.
If the currently installed version of Windows update has a lower version, Never10 notifies its user that Windows Update must be updated to be able to disable automatic OS upgrading. When the user understands and instructs Never10 to update Windows Update, it chooses among one of four files for Windows 7 or 8 and 32 or 64 bits, downloads the proper file from Microsoft's Windows Update server, and runs the standalone installer to update Windows Update. This never seems to require a reboot.
Never10 manipulates the values and security permission settings of the following two registry keys:
  • HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Gwx
    Under this key, the 32-bit DWORD value “DisableGwx” is set to 1 or completely deleted.
    These will be referred to as the “Gwx” key and the “DisableGwx” value. This key and value control the display of the “Get Windows 10” offer icon in the system tray. When DisableGwx is set to 1, the upgrade offer icon is suppressed.
  • HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate
    Under this key, the 32-bit DWORD value “DisableOSUpgrade” is set to 1 or completely deleted.
    These will be referred to as the “WindowsUpdate” key and the “DisableOSUpgrade” value. This key and value control the downloading and installation of any upgrades to Windows. When DisableOSUpgrade is set to 1, any previously downloaded Windows 10 files are deleted and Windows will never attempt to upgrade the current operating system.
When Never10 disables automatic OS upgrading, the following actions are taken:
  1. Under the Gwx key, which will be created if it doesn't yet exist, the 32-bit DWORD value “DisableGwx” is created and set to 1.
  2. Under the WindowsUpdate key, the 32-bit DWORD value “DisableOSUpgrade” is created and set to 1.
When Never10 enables automatic OS upgrading, the following actions are taken:
  1. Under the Gwx key, the 32-bit DWORD value “DisableGwx” is deleted.
  2. Under the WindowsUpdate key, the 32-bit DWORD value “DisableOSUpgrade” is deleted.
To verify the current state of a system's OS Upgrade status, Never10 verifies that both keys have their respective disabling values set to 1. If either value is missing or not set to 1, Never10 will report that OS updating is enabled.
If the hidden $WINDOWS.~BT subdirectory exists, Never10 recursively explores the entire Windows 10 pre-download file set counting items and summing the number of bytes consumed. The user interface will show the total size of storage being consumed and provide a one-button file deletion option.
 . . . and why
The GWX Control Panel (an early popular solution at 2.4 megabytes) was a useful first step. But it was wrong in too many ways. Its design and operation seemed ill suited to the simple task of preventing upgrades to Windows 10. It was confusing and offered an array of actions, options and status reports, when all anyone really wanted was simply for Windows to not upgrade itself and to leave us alone. Instead, the GWX Control Panel makes itself the center of attention. It needs to be “installed”, is resident and persistent afterward, and it pops up all the time to tell us what a great job it's doing... which is exactly the kind of nonsense most people are fed up with in this era where “your attention” is what commercial interests all want to obtain more of. But more than anything, none of that was necessary . . .
Microsoft's Knowledgebase article 3080351 titled “How to manage Windows 10 notification and upgrade options” revealed that an available July 2015 update to Windows Update contained built-in provisions for disabling OS upgrades. This made it immediately clear that was the right way to solve this problem. So back on January 13th, 2016, I created a “bitly” shortcut to that Microsoft knowledgebase page (bit.ly/no-gwx) which explained how to do this, and began promoting that “correct,” minimal and sufficient way to disable Windows OS upgrading on my weekly Security Now! podcast.
The trouble was, Microsoft did not make this easy. In fact, it was down right user-hostile. It required using the Windows Group Policy editor, which is not even present on lower-end Windows editions which were eligible for OS upgrading. Or it required manually creating keys and values in the Windows registry, which is fraught with danger if the wrong button is pressed.
For several months I resisted the temptation to steal time from other projects to fix this. But the GWX Control Panel was so annoying that I finally removed it from the one Win7 machine it was “protecting.” And the final straw occurred when two non-computer-savvy friends were “upgraded” from Windows 7 against their wishes and became a bit hysterical over what had happened to the computer they had finally learned to use.
So, Never10 was born.
In testing the effects of using Microsoft's own documented “switch settings,” I was very impressed to discover that setting them to “disabled” would even cause the GWX subsystem to delete the 6 gigabytes of Windows 10 upgrade files it might have already pre-downloaded. This means that although Never10 does not explicitly remove that massive, sometimes-downloaded blob, it will cause the same agent that downloaded it to delete it, which is perfect.
There have been unsubstantiated and imprecise rumors of Windows upgrading even if users were using something to inhibit or prohibit that from happening. Some claimed that Microsoft was re-enabling something that was disabled. But we've never had any details. While it's certainly possible, my guess is that people were manually avoiding and “hiding” the evil 3035583 update titled: “Update installs Get Windows 10 app in Windows 8.1 and Windows 7 SP1”. The trouble is that “hiding” Windows updates is very soft protection. The Windows Update hiding system does not work reliably. Things that Microsoft wants you to have tend to reappear unbidden and they are very easy to miss.
This is why, unlike the GWX Control Panel, Never10 makes no attempt to prevent the GWX technologies from entering the user's system, nor of removing them if they are present. That's an uphill battle which requires vigilance and constant monitoring, and it's unnecessary. The GWX components occupy less than 32 megabytes in the /Windows/System32/GWX directory. You can go visit them if you're curious. So long as the proper registry settings are in place to hold them at bay and keep them disabled, they will cause no trouble and they occupy almost no storage space.
So, yes. Never10 is relying upon Microsoft to obey their own provided settings, which they created a special update to Windows Update to provide. And they buried those settings where no “regular user” would ever find them. Corporations the world over are relying upon those settings to prevent unwanted upgrading of their existing systems. There is just no chance that Microsoft would ever choose to deliberately bypass the express desire of their users by ignoring their own registry settings. It's not impossible, but it'll never happen.
What about Group Policy? The “How to manage Windows 10 notification and upgrade options” knowledgebase 3080351 page mentions that Windows OS upgrading can also be applied through Windows group policy settings. I have verified that enabling the setting to disable Windows OS upgrading through the group policy editor simply sets the DisableOSUpgrade value of the WindowsUpdate key. So group policy is merely another way of achieving the same thing that Never10 does, though through the enforcement of group policy.