Some support people have asked me why the "About" dialog seems to be kind of schizophrenic as to whether a machine has Windows XP SP1 or SP2.

About Windows

Microsoft® Windows
Version 5.1 (Build 2600.xpsp2.040919-1003 : Service Pack 1)
Copyright© 1981-2001 Microsoft Corporation

Why does the version string say "xpsp2" and then "Service Pack 1"? Is this machine running SP1 or SP2?

It's running Service Pack 1. The build number string is a red herring.

Why does the build number string say "xpsp2" when the computer is running SP1?

Because Windows XP Service Pack 2 was a victim of changing circumstances.

After Service Pack 1 shipped, there was no indication that Service Pack 2 was going to be anything other than "just another service pack": A cumulative update of the fixes that had been issued since the release of Service Pack 1. Therefore, the release team created a new project, called it "xpsp2" and when a fix needed to be made to Service Pack 1, they made it there. It was called "xpsp2" because the assumption was that when the time came to release Service Pack 2, they would just take all the fixes they had been making to Service Pack 1 and call that Service Pack 2. In other words, "fixes to Service Pack 1" and "working on Service Pack 2" were the same thing.

Of course, things changed, and a "new" Service Pack 2 project was created for the "real" Service Pack 2 changes, leaving the old "xpsp2" project to be merely the place where Service Pack 1 fixes were developed.

Yes, it's confusing. We're kind of embarrassed by the whole project naming fiasco. That's what happens when plans take a radical change after work has already started.

Anyway, there you have it, the long and boring story of why fixes for Service Pack 1 have "xpsp2" in their build string.