A customer running Windows 7 Home must have reserved or okayed the Windows 10 upgrade because I am seeing daily messages that the upgrade is failing to install.
This customer is not ready for Windows 10 so it's good that the install is failing. But how to make it stop trying? Once permission is granted for the upgrade, how do I revoke that permission so it stops attempting to upgrade?
I ran the Windows Update troubleshooter to clear out updates, and I uninstalled and hid KB3035583, but it is still trying to upgrade. In Task Manager, there is no GWX.EXE process.
Event log failure message:
Log Name: System
Source: Microsoft-Windows-WindowsUpdateClient
Date: 8/5/2015 1:28:58 AM
Event ID: 20
Task Category: Windows Update Agent
Level: Error
Keywords: Failure,Installation
User: SYSTEM
Description: Installation Failure: Windows failed to install the following update with
error 0x80240020: Upgrade to Windows 10 Home.
Relevant lines from WindowsUpdate.log:
2015-08-05 01:28:57:885 1068 6698 Agent *************
2015-08-05 01:28:57:885 1068 6698 Agent ** START ** Agent: Installing updates [CallerId = AutomaticUpdates]
2015-08-05 01:28:57:885 1068 6698 Agent *********
2015-08-05 01:28:57:885 1068 6698 Agent * Updates to install = 1
2015-08-05 01:28:57:885 1068 6698 Agent * Title = Upgrade to Windows 10 Home
2015-08-05 01:28:57:885 1068 6698 Agent * UpdateId = {27E79986-1150-4342-BDD2-76DF82C768D5}.201
2015-08-05 01:28:57:885 1068 6698 Agent * Bundles 1 updates:
2015-08-05 01:28:57:885 1068 6698 Agent * {FCD6621E-F5D4-4A95-AD43-28F0C58DD2F3}.201
2015-08-05 01:28:58:181 1068 6698 DnldMgr Preparing update for install, updateId = {FCD6621E-F5D4-4A95-AD43-28F0C58DD2F3}.201.
2015-08-05 01:28:58:181 27280 6f84 Misc =========== Logging initialized (build: 7.6.7601.18917, tz: -0700) ===========
2015-08-05 01:28:58:181 27280 6f84 Misc = Process: C:\Windows\system32\wuauclt.exe
2015-08-05 01:28:58:181 27280 6f84 Misc = Module: C:\Windows\system32\wuaueng.dll
2015-08-05 01:28:58:181 27280 6f84 Handler :::::::::::::
2015-08-05 01:28:58:181 27280 6f84 Handler :: START :: Handler: Windows Setup Install
2015-08-05 01:28:58:181 27280 6f84 Handler :::::::::
2015-08-05 01:28:58:181 27280 6f84 Handler : Updates to install = 1
2015-08-05 01:28:58:181 1068 5ecc AU >>## RESUMED ## AU: Installing update [UpdateId = {27E79986-1150-4342-BDD2-76DF82C768D5}]
2015-08-05 01:28:58:181 1068 5ecc AU # WARNING: Install failed, error = 0x80240020 / 0x00000000
2015-08-05 01:28:58:181 27280 6f84 Handler : WARNING: Exit code = 0x80240020
2015-08-05 01:28:58:181 1068 5ecc AU Write OSUpgradeState =14 with OSUpgradephase =2
2015-08-05 01:28:58:181 27280 6f84 Handler :::::::::
2015-08-05 01:28:58:181 27280 6f84 Handler :: END :: Handler: Windows Setup Install
2015-08-05 01:28:58:181 27280 6f84 Handler :::::::::::::
Further Googling led me to a registry key that looks like it controls the upgrade process.
The machine that was trying to upgrade had these values:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\OSUpgrade]
"KickoffDownload"=dword:00000001
"KickoffSource"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\OSUpgrade\State]
"OSUpgradeState"=dword:0000000e
"OSUpgradeStateTimeStamp"="2015-08-04 15:59:55"
"OSUpgradePhase"=dword:00000002
Another Windows 7 machine, where I had removed KB3035583 before Windows 10 was released (and thus successfully blocked the upgrade), had these values:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\OSUpgrade]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\OSUpgrade\State]
"OSUpgradeState"=dword:00000001
"OSUpgradeStateTimeStamp"="2015-07-28 10:09:55"
I updated the registry on the "upgrading" machine to match the registry of the "blocked" machine, then rebooted the machine.
Also, thanks to the comment from @Ramhound, I found a $Windows.~BT hidden folder with 5.1GB of content. I ran Disk Cleanup and removed "Temporary Windows installation files." That folder is now gone.
We'll see if this successfully blocks the upgrade going forward.
Update 7 August 2015
The machine has stopped trying to upgrade to Windows 10, so the registry change must have worked. The values that I set two days ago have not changed.
This is now easy with Never 10, a portable utility to prevent Windows 10 upgrades.
User contributions licensed under CC BY-SA 3.0