How to block Windows 10 updates

[German]A question from Windows 10 users facing serious trouble installing updates is "how in hell can I block updates from being installed"? Well, here are some solutions.


In Windows Update for Business Microsoft offers since Windows 10 Version 1511 a possibility to defer non security updates for up to 8 months. But this feature isn't available for users of Windows 10 Home. Some users are stopping Windows Update (WU) service to prevent downloading updates. Others are setting internet connection to metered, to prevent downloading updates. But this isn't a good idea, because updates for Windows Defender are also paused.

If an update install fails over and over, of if an update breaks a Windows machine, system restore can revoke the installation, you are nailed. How to prevent re-installing of those updates? Microsoft also has cut blocking auto driver installation since Windows 10 Version 1511.

Block updates with wushowhide.diagcab

Microsoft developers has already released the tool wushowhide.diagcab, which ban be downloaded via KB3073930.

1. Double clicking to wushowhide.diagcab, and use the Next button to step trough the wizard dialogs.


Hhere I used a German Windows 10 to document the steps, so parts of the dialog contents is in German.

2. Select Hide updates in dialog box shown above and wait till the search lists all pending Windows Update packages.

3. Check the checkboxes of all faulty update packages and click to Next button.

If the dialog box shown above, close the wizard using the Close button. Afterward the updates should be blocked.

Side notes: I have never tested, what's happens after a feature upgrade with pending driver updates. Maybe this is a reason, why some feature upgrades are stalling with errors – but I'm in doubt.

If drivers are installed after they has been blocked, they are in Windows driver cache (.inf cache). Try to uninstall this driver in Windows device manager and check the checkbox to delete the driver.

To re-enable a hidden update later, just process the steps given above, but select the command Show hidden updates.

After the list of hidden updates are shown, check the required updates and click the Next button to process the next steps.

Some alternative methods to control updates

Beside Microsoft wushowhide.diagcab there is the Windows Update MiniTool from This tool provides a neat GUI to select and download updates.

The tool also provides the option Automatic Updates, that brings back the update options known from previous Windows versions. But this option won't work in Windows 10 Home.

Block (driver) updates via PowerShell script

Another way to block updates has been provided by a reader of my German blog (OlliD). He posted as PowerShell script within this (German) forum. Here is his PowerShell script to block updates:

Function Get-WindowsUpdate {


Process {
try {
Write-Verbose „Getting Windows Update"
$Session = New-Object -ComObject Microsoft.Update.Session
$Searcher = $Session.CreateUpdateSearcher()
$Criteria = „IsInstalled=0 and DeploymentAction='Installation' or IsPresent=1 and DeploymentAction='Uninstallation' or IsInstalled=1 and DeploymentAction='Installation' and RebootRequired=1 or IsInstalled=0 and DeploymentAction='Uninstallation' and RebootRequired=1"
$SearchResult = $Searcher.Search($Criteria)
} catch {
Write-Warning -Message „Failed to query Windows Update because $($_.Exception.Message)"

Function Set-WindowsHiddenUpdate {




Process {
$Update | ForEach-Object -Process {
if ((($_.pstypenames)[0] -eq ‚System.__ComObject#{c1c2f21a-d2f4-4902-b5c6-8a081c19a890}') -or (($_.pstypenames)[0] -eq ‚System.__ComObject#{70cf5c82-8642-42bb-9dbc-0cfd263c6c4f}') -or (($_.pstypenames)[0] -eq ‚System.__ComObject#{918efd1e-b5d8-4c90-8540-aeb9bdc56f9d}')) {
try {
$_.isHidden = $Hide
Write-Verbose -Message „Dealing with update $($_.Title)"
} catch {
Write-Warning -Message „Failed to perform action because $($_.Exception.Message)"
} else {
Write-Warning -Message „Ignoring object submitted"

Get-WindowsUpdate | Set-WindowsHiddenUpdate -Hide:$true
Get-WindowsUpdate | Where { $_.Title -match ‚Definitionsupdate' } | Set-WindowsHiddenUpdate -Hide:$false
Get-WindowsUpdate | Where { $_.Title -match ‚Sicherheitsupdate' } | Set-WindowsHiddenUpdate -Hide:$false

The PowerShell script may be invoked with the following batch file:

REM Hide_Windows_Updates.cmd
„%PSModulePath%..\powershell.exe" -ExecutionPolicy Unrestricted -File „%~dp0Hide_Windows_Updates.ps1" -NoProfile -NoLogo -Mta


You can set up a task in Windows task planner to block updates. But this solution isn't transparent and easy to use at all. This would be superfluous, if Microsoft would provide an option to control automatic update installation, like it was known in previous Windows versions. But there are hints, that Windows 10 Creators Update will allow to block updates for at least 35 days (will blog about that later).

Similar articles:
Win10 Wiki
Windows 10: Open command prompt window as administrator
Check and repair Windows system files and component store
Windows 10: Analyze upgrade errors
Uninstalling 'uninstallable' Windows Updates
Windows 7/8.1/10: error side-by-side configuration is incorrect
Stop Windows from installing updates over and over again
PSA: Windows 10 Anniversary Update gives just 10 days for rollback
Windows 10:Updates KB3195781/KB3194496 and install issues [Fixes]

Cookies helps to fund this blog: Cookie settings

This entry was posted in Update, Windows. Bookmark the permalink.

3 Responses to How to block Windows 10 updates

  1. joe defiant says:

    Thanks so much for this!!!! Brilliant!

  2. EP says:

    Check this Ten forums page on how to either enable or disable driver updates in Win10:

    there's a group policy option for Win10 Pro, Education & Enterprise editions that can either include or exclude drivers from Windows Update. that group policy option was there since the version 1607 anniversary update release.

  3. Phil I says:

    I have given the MS tool a go, after uninstalling the update. It does seem to be blocked. Thanks.

Leave a Reply

Your email address will not be published. Required fields are marked *