Hi 5eraph,5eraph wrote:Updated to 2009-12_1. Please read the Changelog for full details.
As those of you who have downloaded some of the latest x64 hotfixes from Microsoft may have noticed, Microsoft has begun to use "WindowsServer2003" in place of "WindowsServer2003.WindowsXP" in the file names for certain updates. In addition, Microsoft has begun to use the following code in update_SP2QFE.inf:
This code cannot be altered to force the installer to work with XP x64 without breaking the signature for the INF. Nor can one change the protected registry value without hacking Windows, which we will not discuss here as it borders on piracy. However, some of these updates seem to be intended for XP x64 despite being blocked by the installer. Here is an incomplete list:Microsoft's use of the above code seems to be arbitrary and incorrect in the cases of the updates listed, and perhaps other cases. Therefore, I have decided to include blocked updates in the update pack.Code: Select all
[Prerequisite] Condition=AndOp,Prereq.[color=white]XPAMDInstallBlock[/color].Section .. [Prereq.XPAMDInstallBlock.Section] PresentOp=CheckReg,HKLM,"SYSTEM\CurrentControlSet\Control\ProductOptions",ProductType,0x00000000 EqualOp=CheckReg,HKLM,"SYSTEM\CurrentControlSet\Control\ProductOptions",ProductType,0x00000000,==,"ServerNT" Display_String="%WrongProductMessage%"
First, thank you (and others who contributed) for the comprehensive list of hotfixes maintained in the first post of this thread. Downloading the hotfixes (i.e., those that can't be downloaded automatically) from Microsoft and thehotfixshare.net one-by-one took forever!.

I know the post I'm replying to specifically is dated but having just dealt with this annoying problem myself I wanted to discuss this. I don't want to clutter this thread so perhaps a new one should be created for related issues.
Concerning the blocking of hotfixes, the workaround I used for local installation was to first extract the hotfix into its own directory and then patch the update.exe binary to ignore the "prerequisite" section in the .inf file. All that involves is replacing the appropriate section name in the binary with a dummy value (of equal byte length) that won't be present. Backup the patched update.exe to some other directory so that next time you can just copy over the extracted update.exe with it.
Someone described in a blog (I'll try to dig up the URL if anyone wants it) patching the update.exe to allow modification of the .inf file, but I didn't want to break the signatures of any signed files.
Code: Select all
fc /b update.orig.exe update.exe
00016A90: 50 44
00016A91: 72 75
00016A92: 65 6D
00016A93: 52 6D
00016A94: 65 79
00016A95: 71 53
00016A96: 75 65
00016A97: 69 63
00016A98: 73 74
00016A9A: 74 6F
00016A9B: 65 6E
00016AA0: 50 44
00016AA2: 72 75
00016AA4: 65 6D
00016AA6: 52 6D
00016AA8: 65 79
00016AAA: 71 53
00016AAC: 75 65
00016AAE: 69 63
00016AB0: 73 74
00016AB4: 74 6F
00016AB6: 65 6E