Rufus, the popular utility used for preparing Windows bootable media, among other things, has run into a major issue. Apparently, Microsoft seems to have blocked its ability to download ISOs via the help of Fido script. The Fido script is based on PowerShell and basically automates access to Microsoft official download links.
A GitHub user voltagex noted the issue when they were unable to download Windows 10 21H2 Build 19044.1288 with an error saying "Could not retreieve architecture from server".
The issue was then confirmed by Fido developer Pete Batard who found that Microsoft had hardened its servers to block such download requests via Fido. And Batard seems pretty sure it is a "deliberate change". He says:
Well, from further investigation, it sure looks like Microsoft made their website deliberately hostile to our script queries. The only query that works for GetProductDownloadLinksBySku is the one that is sent internally from Microsoft's web page, as trying to copy/paste that query to a different browser window, or even trying to manually issue it from the same window now returns an error, whereas that wasn't the case previously.
whereas one could previously send independent HTTP queries like https://www.microsoft.com/en-gb/api/controls/contentinclude/html?pageId=76ddb7de-ec0a-49c3-a699-a2dda9cc8497&host=www.microsoft.com&segments=software-download,windows11&query=&action=GetProductDownloadLinksBySku&sessionId=b0f1baab-5d74-4f53-b5a1-35810339c3c3&skuId=13489&language=English International&sdVersion=2 to retrieve content, Microsoft did modify their server so that if you now try to send it outside of the https://www.microsoft.com/en-gb/software-download/windows11 context, you now get an error, and therein lies the issue.
That's a deliberate change if I ever saw one
The download error message has been changed now to the following:
The changelog for the Fido version 1.30 release now says:
Disable Windows 8 → Windows 11 ISO downloads
It appears that Microsoft purposefully made their download servers hostile to our script, and trying to fix this is likely to take a long time... 😞
Batard has also requested assistance in this matter from fellow developers.
Update: The issue has been fixed thanks to developer William Bulin
The changelog has been updated for the new Fido version 1.31 which now reads: