Service Packs on Windows XP 64-Bit Edition
Version 2002 (NT 5.1 / Windows XP codebase)
Only one Service Pack was released for Windows XP 64-Bit Edition, Version 2002. It was released together with the 32-bit version in August 2002 and can be installed without any workarounds. There is no indication that a second Service Pack was made or in development for Version 2002, even though the 32-bit version was released in August 2004, months before the end of support was announced.
Version 2003 (NT 5.2 / Window Server 2003 codebase)
During the development of the first Service Pack for Windows Server 2003 and Windows XP 64-bit Version 2003 for Itanium, Microsoft has announced the end of support for Windows XP on Itanium in January of 2005. Few months later, in July of 2005, the support has ended. This came as a result of HP ending sales of all their Itanium workstations after all other manufacturers have done so already. The result being that Windows XP 64-bit Version 2003 was in support for a total of 2 years and 3 Months, likely the shortest support window for a Microsoft workstation OS (except for Beta releases).
Service Pack 1 for Server 2003 was finalized on 24 March 2005, two months after the announcement. During late development the decision was already made to not bring this Service Pack to Windows XP, considering that it would be dropped from support a few months later anyway. The beta build 3790.1260 from December 2004 can still be installed on Windows XP without any workarounds, but the next known build 3790.1433 from February 2005 already has preventative measures in place to prevent the installation on Windows XP.
The block is achieved by setting a prerequisite in the update.inf file of the Service Pack:
[Prerequisite]
...
condition = SingleOp, Block.WorkStation.OnIA64
This line ensures that the update cannot be applied to a workstation SKU of Server 2003, which in this case means XP.
Workarounds
One could imagine that removing the blocking line would be enough to get the installer to work again, however unfortunately it's not quite that easy. Update packs from that era verify all important files against a known and signed signature that cannot be spoofed easily. When the update.inf file has been modified, setup will launch, but shortly after close itself, complaining about the integrity of the file.
But, for some reason this integrity check is performed 1-3 seconds after the file has already been loaded and parsed. This means that if the original file is restored after it has been loaded but before it has been verified, the setup program can be tricked into working.
Step by step:
- Open the update.inf file, remove the block line mentioned above and save the change.
- Undo the change, but do not save the reverted file just yet.
- Launch update.exe, once the setup window opens, quickly attempt to save the file
The last step is very timing sensitive. If you save too early, the file might still be locked and Notepad will ask you for an alternative path to save the file to. If you save too late, setup will have already checked it and quit with the integrity error. You will know if you succeeded if saving the file was successful and the setup window does not close after ~10 seconds. You can then proceed to install the Service Pack normally.
Side effects
Since this Service Pack is intended for Server 2003 only and XP components have partially been removed, not much of value is added to the system itself. Microsoft originally intended to bring various features back to XP such as the Luna theme and Windows Media components (they can be found in earlier builds of the Service Packs), however these have been stripped out in the end. Another side effect is a link for Security Configuration information being placed on the desktop, which is intended for Windows Server, as well as DirectX 8 being upgraded to a neutered version of DirectX 9, which does not have Direct3D acceleration. Using Direct3D 8 apps should however still be working, provided that a compatible graphics card is installed in the system.