An interesting point about the .NET Framework 2.0 SP1 is that it is both a service pack AND a full install.
By that I mean if you already have .NET 2.0 installed then it gets updated. If you haven’t, it doesn’t matter, it gets installed anyway.
The “service pack” download (NetFx20SP1_x86.exe) is only a couple of Mb bigger than the original 2.0 package.
Before you install .NET 2.0 SP1 your add/remove programs (ARM) probably looks something like mine:
(you only see the updates if you have “show updates” checked:
The EULA dialog confirms (helpfully) that you are indeed installing SP1:
After you’ve installed .NET 2.0 SP1, ARM looks somewhat different:
All these separate “updates” that are listed are part and parcel of the .NET Framework and cannot actually be removed. Some of them have rather mysterious names but they are just the usual framework carved up into different chunks.
Now, here’s the interesting bit:
If you uninstall .NET 2.0 SP1 (even if you had .NET 2.0 installed before hand) the whole .NET Framework is removed.
It does NOT revert you back to .NET 2.0 RTM. If you want that, you will need to re-install the RTM version after uninstalling 2.0 SP1.
So in that sense it is really more a replacement for the .NET Framework 2.0 rather than an uninstallable service pack.