Before I begin, I want to be very clear that this is not something I recommend. I believe strongly that keeping your machine as up to date as possible is an important part of keeping yourself safe online. Letting Windows Update do its thing automatically, without having to think about it at all, is the best, safest way for the vast majority of Windows 10 users.
Unfortunately, in recent months we’ve seen Windows Updates cause problems on a small number1 of machines. The ability to disable Windows Update — even temporarily — can be an important step in getting on with your work while you await updated updates that no longer cause problems.
Unfortunately, while Windows 10 Professional has some control over when updates are installed, Windows 10 Home has no such option.
We need to bring out a bigger hammer.
Become a Patron of Ask Leo! and go ad-free!
The basic approach will be to stop the Windows Update service and then disable it so it can’t be automatically started by subsequent automated update attempts.
Since this is intended to be a short-term solution — a “pause” in taking updates, if you will — we’ll also re-enable the service to start it once again.
Finally, it’s important to realize that this is only about Windows Update (also referred to as Microsoft Update, when all Microsoft applications are included), and not any other update mechanisms used by other programs. That means that while the service is disabled, you will get no Microsoft-related updates: none for Windows, none for Windows Defender, none for Windows Defender’s database of known malware, and none for any Microsoft products you may have installed. (Other programs will continue to update in whatever fashion they’ve implemented.)
This is a big hammer. You’ll want to leave things disabled for as short a time frame as you can.
Disable and stop
Run either Windows PowerShell or Windows Command Prompt as administrator. The easiest approach is to right-click on the Start menu and then click on the corresponding app with the “(Admin)” description.
In PowerShell or Command Prompt (which I’ll just refer to as “Command Prompt” from here), type the following command, followed by Enter:
sc.exe config wuauserv start= disabled
Breaking that down:
- sc.exe – the “Service Control” management program. (The “.exe” part is important in PowerShell.2)
- config – the action we’re taking
- wuauserv – the internal name of the “Windows Update Service” service.
- start= – the configuration setting we’re changing. The space between this and the next item is important.
- disabled – to set the start-up option of this service to the disabled state.
The result will be a success message.
All we’ve done is so far is change whether the service is allowed to start. It’s likely the service will still be running if it had already been started, so we need to stop it. Enter the command:
sc.exe stop wuauserv
This stops the Windows Update Service. You’ll likely get a fairly confusing success message.
Even though it states “STOP_PENDING”, it’s likely that the service has stopped completely by the time you’ve finished reading the message.
Confirming it’s off
We can confirm that Windows Update is disabled by visiting the Updates section of the settings app and clicking on Check for updates. It should fail.
Your machine is no longer receiving Windows Updates.
Re-enable and re-start
To re-enable Windows Updates, reverse the process.
First, change the setting that will allow the service to be started:
sc.exe config wuauserv start= auto
This sets the startup setting to “auto”, for automatic, which allows the service to be started as needed.
To confirm this works, start the service:
sc.exe start wuauserv
Finally, return to Windows Update in the Settings app and click on Retry (if you’d left it from the prior test) or Check for updates.
This time, Windows Update checks for updates. How many updates are available depends on how long you left it disabled.
Yet more caveats (and work-arounds)
I have heard, but have not been able to verify, that a disabled Windows Update service can magically become re-enabled after some period of time. It’s unclear if this is days, weeks, or longer.
If you find yourself needing to do this frequently, one approach would be to put the disable and enable commands into their own “batch” or command file.
For example, create a simple text file in Notepad called disable-wu.cmd. In that file, put the two lines:
sc.exe config wuauserv start= disabled sc.exe stop wuauserv
Then run that batch file from within an admin Windows Command Prompt. You’ll probably also want to have its counterpart:
sc.exe config wuauserv start= auto sc.exe start wuauserv
to be used when it’s time to re-enable the service.
Only if you have to
As I said at the beginning, this is meant as a work-around only for those who need to stop Windows Update for a short period of time. Most folks shouldn’t need this, and I advise against using it unless you know you do.
It’s extremely unfortunate, for a variety of reasons, that we would need to resort to these steps. I do believe that Windows should expose controls for Windows Update at its old, Windows 7 level of granularity, allowing you to choose if and when to take updates and which updates to take or ignore. I understand Microsoft’s intent with the Windows 10 design, but unfortunately, it only really works if we can always and completely trust Windows Updates without fail. For some small number of people, that will clearly never be the case.
If you found this article helpful you'll love Confident Computing! My weekly email newsletter is full of articles that help you solve problems, stay safe, and increase your confidence with technology.
Subscribe now, and I'll see you there soon,