The only thing I can think of is to look at the software
application requirements, though some products don't
always mention it requires .NET
You could uninstall each version of .NET starting from
the highest version (Hotfixes first) then the specific version
of .NET (Example: .NET 3.5 SP1). But as you said this
could be a long a tedious process. Also not that using
Add/Remove to delete a version still leaves a lot of files
on your PC.
Uninstalling .NET Framework:
After installing all the versions of .NET I decided to uninstall each
version until all versions were removed. If you uninstall .NET you must
start with the highest version install on your PC and then work your way
down to the lowest version number.
In this test I started by uninstalling version 3.5 and finished with 1.0.
Note that the hotfix for version1.1 must be removed "after" uninstalling
version 1.1
Aaron Stebner's .NET Framework Cleanup Tool
http://blogs.msdn.com/astebner/pages/8904493.aspx
"This .NET Framework cleanup tool is designed to automatically perform a set
of steps to remove selected versions of the .NET Framework from a computer.
It will remove files, directories, registry keys and values and Windows
Installer product registration information for the .NET Framework. The tool
is intended primarily to return your system to a known (relatively clean)
state in case you are encountering .NET Framework installation,
uninstallation, repair or patching errors so that you can try to install
again."
I used this tool after using the Windows Control Panel's Add or Remove
Programs uninstall option. After using the tool only a few folders and files
still remained, so I deleted these manually.
For more information see:
http://www.pagestart.com/windowsxptips.html