If .NET 2.0 is installed and SP are not installing:
Download and run the Microsoft .NET Framework 2.0 Registration Correction Tool per
http://support.microsoft.com/?kbid=951950
rerun the SP install
if this does not resolve the issue, download and run the Microsoft Installer Cleanup Utility:
http://download.microsoft.com/download/e/9/d/e9d80355-7ab4-45b8-80e8-983a48d5e1bd/msicuu2.exe
Otherwise:
This generally indicates a corrupt .NET 2.0 installation. If this was installed using dotnetfx.exe, perform the following steps to manually cleanup the failed or corrupted installation.
Using Add or Remove Programs, locate any versions of the .NET Framework 1.2 or 2.0 and choose Remove to uninstall them. More than likely the uninstall will fail. If so, remain calm and continue to the next step.
Using regedit, navigate to HKLM\Software\Microsoft\.NETFramework and delete any keys and values that have 1.2 or 2.0 in it, including keys/values that are in subkeys underneath .NETFramework.
Using regedit, navigate to the sub-hive HKLM\Software\Microsoft\.NETFramework\Policy and delete any key or value that has 1.2 or 2.0 in it.
Using regedit, navigate to HKLM\Software\Microsoft\ASP.NET and delete any key or value that has 1.2 or 2.0 in it, including keys/values that are in subkeys underneath ASP.NET.
Right-click on My Computer and choose Manage. Expand Computer Management (Local), then Local Users and Groups, then click on the Users folder. In the right-hand pane, right-click on the ASPNET user account and choose Delete to remove it.
Go to %windir%\assembly and delete anything with *1.2* or *2.0* in the folder name. Delete the GAC_32 and GAC_MSIL folders as well.
You may not be abe to view the contents of %windir%\assembly in Windows Explorer when the .NET Framework is installed. If so, set the following registry value and reopen Windows Explorer
Key name: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion
Value name: DisableCacheViewer
Data type: REG_DWORD
Value data: 1
Note: You should remove the DisableCacheViewer value after you complete this step because this is only used for debugging purposes.
Go to %windir%\Microsoft.NET\Framework and delete any folders named v1.2.* or v2.0.* along with all of the files and subfolders they contain. You may get errors when trying to delete some of the files because they are in use. In most cases, rebooting the machine and trying again will work. If not, you can rename the files to be
Rename %windir%\system32\mscoree.dll to mscoree.dll.old.
After doing all of this, try to install the previously failing version of the .NET Framework 2.0 and install the latest service pack.