Here's How To Circumvent Microsoft's Windows Update Block On New CPUs With Windows 7 And 8

Many long time Windows users have not been pleased with Microsoft’s decision to block updates to Windows 7 and 8.1 for systems running current and future generations of processors. Intel’s Kaby Lake and AMD’s Ryzen chips are among the first blacklisted casualties of this policy.

windows 7

Microsoft deemed this necessary to improve the deployment cycle of Windows and ease the workload on hardware partners validating their products across multiple generations of Windows. Whether you buy that reasoning or not isn’t for us to decide. The fact of the matter is, Microsoft wants every one of its customers locked into Windows 10.

At any rate, some users have decided to take matters into their own hands. Namely, github user zeffy noticed a line in Microsoft’s changelog stating, “Enabled detection of processor generation and hardware support when PC tries to scan or download updates through Windows Update.” Zeffy details his process of dissecting the .msu package and analyzing changes in the readme of his github page. His prodding produced two functions - IsCPUSupported(void) and IsDeviceServiceable(void) - behind the processor version check.

zeffy describes investigation process
From zeffy's github readme

From there, he was able to create a patched version of the wuaueng.dll which simply returns 1 (CPU is supported) when the IsDeviceServiceable(void) is called. The caveat, he notes, is that wuaueng.dll must be re-patched any time it is updated by Microsoft.

Evidently a generous man, zeffy shared his workaround in the form of four scripts, covering Windows 7 x86 and x64 (KB4012218) as well as Windows 8.1 x86 and x64 (KB4012219). All end users need do is download the .bat and .xdelta files corresponding to their system, run the .bat as Administrator, and follow the prompts.

Behind the scenes, zeffy’s script verifies the offending Microsoft update - KB4012218 or KB4012219 - is installed and double-checks your Windows version. After confirming to install the patch, it first backs up wuaueng.dll, then imports changes from the .xdelta file to wuaueng.dll. Provided no errors occur, everything is ready to rock and roll. If something did go wrong, the script automatically works to restore the original copy of wuaueng.dll. The script can also be rerun at any time to reverse changes, if desired.

zeffy code sample github
Always inspect scripts before running

Naturally, this whole process is not supported by Microsoft so we advise you only attempt this patch only if you fully understand what is taking place and you take full responsibility for your own system. The scripts are fully open-source and can be readily inspected to ensure no malicious behavior is taking place.

Furthermore, the success of this simple patch underscores the arbitrary nature of Microsoft’s decision here. There’s clearly no technical hurdle preventing these chips from running the latest updates. You might think, maybe it’s just a line in the sand situation and future updates will not actually play nice, though this really seems to rub salt in the wound if you're of that mindset. On the other hand, the business decision is understandable, from MSFT's perspective, to cut draining validation and support ties with their old OS and pour as many resources into the new baby as possible. Regardless, it will be interesting to see if this evolves into a cat-and-mouse patch fest, so if you do use this approach be sure to always check for updates to the patch process before running.