This article has been updated multiple times since its initial publication to incorporate up-to-date information. The most recent update was March 12, 2016.
Microsoft wants you to upgrade to Windows 10. They really, really, really want you to upgrade to Windows 10.
We are now well into the second half of the one-year, free, no-strings-attached upgrade offer that Microsoft has made available for its customers running Windows 7 and Windows 8.1, and the offers are getting more insistent. Some customers have reported that the upgrade happened automatically, when they least expected it.
If you would prefer not to upgrade, this article explains how to make those prompts go away and how to block the Windows 10 upgrade until you decide the time is right, even if that time is "never." It's a 30-second process, involving two simple changes to Windows configuration files. If you're an IT pro or consultant managing PCs at a small business, you can even automate the process, as I explain in this post.
Although there are third-party utilities that promise to perform this task for you, I don't recommend their use. They add unnecessary complexity and potential security risks, and the techniques I describe here are fully supported.
Personally, I think Microsoft has done a good job with Windows 10 and I recommend the upgrade for consumers and small businesses, especially on relatively recent hardware. Windows 10 actually is significantly more secure than Windows 7, thanks to features like Secure Boot, device encryption, and built-in antivirus software, not to mention dozens of architectural changes. Windows 10 also solves most of the (justified) complaints people had with the Windows 8.x Start screen.
But some people have legitimate reasons to avoid the upgrade and continue using a previous, supported version of Windows. For them, the continual upgrade prompts are a nuisance.
And on some systems, you'll find Windows 10 waiting for you in Windows Update. That's a tremendous convenience if you want the upgrade, but annoying otherwise. (No, it won't install automatically, but it might start the installation process.)
As a side note, I'd be very happy if Microsoft found a less annoying way to push this upgrade. Even something as simple as a "Remind me again in 30 days" button would be an improvement over the current prompts. But until they do that, this is your defense strategy.
In January, Microsoft published a support article that documents the two settings I describe in this article. (See "Microsoft expands Get Windows 10 program to domains, publishes opt-out instructions.") Changing the two registry settings to the values described in this article will be sufficient to prevent an unwanted Windows 10 upgrade on any PC running Windows 7 or Windows 8.1.
Note that none of this applies to Microsoft's enterprise customers. If your business is running Windows 7 or 8.1 Enterprise, the upgrade offers and the accompanying Get Windows 10 (GWX) icon don't exist. The same is currently true on Windows 7 Professional or 8.1 Pro machines that are joined to a domain.
For businesses that aren't joined to a Windows domain, or for home users who aren't ready to upgrade, here are the two changes you need to make. The changes can be made in either order. Both are in the HKLM\Software\Policies branch of the registry.
(Note: Editing the registry is not for amateurs. If you're not comfortable making direct registry edits, you shouldn't open Regedit. At the end of this post, I've included links to .reg files that you can use instead.)
First step: Disable automatic upgrades through Windows Update. To accomplish this task using Group Policy, change the setting "Turn off the upgrade to the latest version of Windows through Windows Update," which can be found in Computer Configuration / Administrative Templates / Windows Components / Windows Update.
Doing so sets the registry value described in the rest of this step. Note that for Home versions of Windows 7 and 8.1, where the Group Policy editor is not available, editing the registry is the only option.
To make this change with Regedit, navigate to the following key.
Important: If that key doesn't exist, you'll need to create it.
Create a DWORD value called DisableOSUpgrade and set it to 1. (If that sentence makes no sense, you probably shouldn't be using Regedit.)
Here's what it looks like.
Second step: Make the GWX icon, with its nagging notifications, vanish from the taskbar.
To do that, you need to create the following key:
Again, if this key doesn't exist, you need to create it.
Then create a DWORD value called DisableGWX and set it to 1, like so:
Restart your computer and the GWX icon should be gone. I've tested this procedure on multiple installations of Windows 7 and Windows 8.1 with no problems.
You can automate the process by saving the necessary registry changes to files that you execute by clicking and running from an account with administrator rights.
Here's the first file, which I saved as DisableOSUpgrade.reg:
Windows Registry Editor Version 5.00
The second file is DisableGWX.reg:
Windows Registry Editor Version 5.00
Both files are available from this link. They're plain text files, so you can inspect them before running. Download the two files and run each one from an account that is signed in with administrative rights.
If you change your mind and decide you want to upgrade to Windows 10 after all, you can reverse those two settings by changing the 1 to 0 using Registry Editor. But there's really no need to do that. Instead, go to Microsoft's Get Windows 10 page and click Upgrade Now, which skips the Windows Update step and lets you upgrade on your own schedule.
If you encounter any issues, feel free to send details to me using this email address: firstname.lastname@example.org. I can't guarantee a response, but I promise to look at all reports.
Thanks to Woody Leonhard from InfoWorld and Josh Mayfield, author of the GWX Control Panel tool, for their valuable input.