Microsoft blocked the delivery of Windows Updates recently to Windows 7 and 8.1 devices powered by a next-generation processor.
The company announced the support change in January 2017. Broken down to the essentials, it means that Intel Kaby Lake and AMD Bristol Ridge processors are only support by Windows 10, and not older versions of Windows.
To hammer that home, Microsoft made the decision to block Windows Update on Windows 7 or 8.1 PCs with those next generation processors.
The company introduced patches, KB4012218 and KB4012219 for instance, which introduced process generation and hardware support detection on Windows 7 and 8.1 systems.
Windows users who run Windows Update get the unsupported hardware error prompt when they try to scan for and download the latest patches for their -- still supported -- operating system.
Bypass for Windows Update lock for next-gen processors
GitHub user zeffy made the decision to take a closer look at how the actual blocking is done on the operating system level.
What he did was the following:
- Download the Patch KB4012218 from Microsoft.
- Extract the content of the MSU file using the expand command line tool. Expand basically extracts all files that are part of an update file so that you can analyze each individually.
- This resulted in a long list of files. He used PowerShell to filter the files for anything starting with "wu" to filter out Windows Update related files.
- He then ran diff tools to compare the binaries of the files in the new update file with those on the actual operating system.
- He discovered the dynamic link library wuaueng.dll, and found the two functions IsCPUSupported(void) and IsDeviceServiceable(void) in it.
Now that he found the culprits that blocked the installation of updates on machines with next generation processors, he came up with a solution for that.
His preferred solution jumps over the whole "IsDeviceServiceable(void)" body so that Windows Update is notified that the CPU on the machine is supported.
The solution requires the patching of the dll file. He has uploaded the patched files for 32-bit and 64-bit versions of Windows 7 and Windows 8.1 to the GitHub project page. The source code has been made available there as well for you to check.
The patches come as scripts that you just need to run to make the necessary changes. Windows Update should work just like before then even on Windows 7 or Windows 8.1 systems with next generation processors
Attention: it is recommended that you create a backup of the wuaueng.dll file before you patch it. Even better, create a backup of the system partition just to be on the safe side of things.
One caveat of the method is that any new version of wuaueng.dll that Microsoft releases requires new patching. Microsoft may devise other means to block updates on those systems as well in the future. (via Sergey)
Now You: What's your take on Microsoft blocking updates for customer systems?