Some users have been unable to install Microsoft .NET Framework 3.5 Service Pack 1 and .NET Framework 3.5 Family Update for .NET versions 2.0 through 3.5 (KB951847) and similar .NET updates, receiving instead error 0x643 from Windows Update and errors 0x80070643, 0x80070070 and/or 0x80070002 in \windows\windowsupdate.log.

If you're having this problem, examine <drive>:\documents and settings\<account>\local settings\temp\dd_XPS.txt. If it contains lines similar to these:

1.765: Failed To Move File C:\WINDOWS\system32\spupdsvc.exe error = 0x11
1.765: Failed to copy spupdsvc.exe to system32
1.781: KB954550-v5 Setup canceled.
1.781: Update.exe extended error code = 0xf00d
1.781: Update.exe return code was masked to 0x643 for MSI custom action compliance.

then there's an easy fix.

Just rename c:\windows\system32\spupdsvc.exe to something else and retry the update. I've had similar problems involving spupdsvc.exe often enough to have 6 old spupdsvc.exe files in my Windows folder. The listed error (0x11) is ERROR_NOT_SAME_DEVICE, which has the description "The system cannot move the file to a different disk drive". What appears to be happening is that Windows is running some portion of the update from a partition other than the one containing Windows, and, for some reason, it attempts to move (instead of copy) spupdsvc.exe to that other partition, fails, and then sends you to installer Hell.