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: SystemSource: Microsoft-Windows-WindowsUpdateClientDate: 8/5/2015 1:28:58 AMEvent ID: 20Task Category: Windows Update AgentLevel: ErrorKeywords: Failure,InstallationUser: SYSTEMDescription: 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 = 12015-08-05 01:28:57:885 1068 6698 Agent * Title = Upgrade to Windows 10 Home2015-08-05 01:28:57:885 1068 6698 Agent * UpdateId = {27E79986-1150-4342-BDD2-76DF82C768D5}.2012015-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}.2012015-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:Windowssystem32wuauclt.exe2015-08-05 01:28:58:181 27280 6f84 Misc = Module: C:Windowssystem32wuaueng.dll2015-08-05 01:28:58:181 27280 6f84 Handler :::::::::::::2015-08-05 01:28:58:181 27280 6f84 Handler :: START :: Handler: Windows Setup Install2015-08-05 01:28:58:181 27280 6f84 Handler :::::::::2015-08-05 01:28:58:181 27280 6f84 Handler : Updates to install = 12015-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 / 0x000000002015-08-05 01:28:58:181 27280 6f84 Handler : WARNING: Exit code = 0x802400202015-08-05 01:28:58:181 1068 5ecc AU Write OSUpgradeState =14 with OSUpgradephase =22015-08-05 01:28:58:181 27280 6f84 Handler :::::::::2015-08-05 01:28:58:181 27280 6f84 Handler :: END :: Handler: Windows Setup Install2015-08-05 01:28:58:181 27280 6f84 Handler :::::::::::::
Solution:
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_MACHINESOFTWAREMicrosoftWindowsCurrentVersionWindowsUpdateOSUpgrade]"KickoffDownload"=dword:00000001"KickoffSource"=dword:00000000[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionWindowsUpdateOSUpgradeState]"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_MACHINESOFTWAREMicrosoftWindowsCurrentVersionWindowsUpdateOSUpgrade][HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionWindowsUpdateOSUpgradeState]"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.