Jeff said:
Do I need net framework? Are there any risks to uninstalling it?
Well, consider an analogy.
If you download a Java program, or visit a website which uses
Java in the browser, chances are you'll need some Sun/Oracle Java software to
make it work.
The large download for Java or dotNET, provide the libraries
to make the application program work.
In the past, there might have been programs, where the
developer would ship you some code, but included, was a small
additional package with redistributable libraries from Microsoft.
By comparison, dotNET is huge, and the libraries are too big
to be carting around with every download.
So Microsoft (in the embrace and extend sense), wants you
to pro-actively download the libraries ahead of time, so
if you happen to buy or download a program from the Microsoft
ecosystem, it will work.
*******
On the practical side, application programs can approach the
library existence problem two ways. The program can check
whether you've installed the necessary library, and provide
a plain English message detailing what is wrong and how to fix it.
But the dotNET programs I've tried here, give a cryptic error
if their dependency is not satisfied. You'll see some
kind of complaint about "mscoree.dll" being missing. And
that is part of dotNET. It means you need some version of
dotNET installed. The application program, will have a CLR
or common language runtime version number, that it seeks, which
gives a hint about what layer of dotNET might be needed.
*******
You can also scan the C: drive, looking for programs which have
a dotNET dependency. And based on that, decide whether you
could delete dotNET or not. But once it is on your system,
you might as well leave it. It's a done deal, and too much
of a nuisance to clean up. The time to think about it, is
*before* it is installed. If you actually bought a dotNET
program, you would have ended up actively searching for the
appropriate download to resolve the dependency. You would then
know you needed that layer of dotNET. If Microsoft
is shoving the download in your face, then chances are you
don't need it. (I still have a pending download in my
Windows Update, which is an example of such shoving, and
I just leave the stinker sitting there, because I don't
need it. My system is not complaining.) It's been sitting
there like this, for a while now.
http://img69.imageshack.us/img69/9003/mynetmess.gif
My system needs dotNET 2.0, to run the ATI video card control
panel. That would be the initial reason for having 2.0 on my
system. If you had an Nvidia video card, you might not need it.
Not every control panel would use it. But ATI decided to use it,
and if you pop the ATI install CD for the video card into the
computer, it has a copy of dotNET specifically for that purpose.
That's how 2.0 got on my system. Windows Update, updated the
initial version, to 2.0 SP2, which is still fine and performing
a useful service. But bumping it up to 3.5 is unnecessary (3.5
is a layer above 2.0 and adds more features, if needed).
http://upload.wikimedia.org/wikipedia/commons/thumb/d/d3/DotNet.svg/513px-DotNet.svg.png
To check what layers of dotNET are on your system, you can use
the Verifier. While Add/Remove can also tell you this, this
tool will also attempt to run a program using the layer, to
prove it actually works. This won't tell you whether it is
absolutely needed, as that requires scanning the entire system.
Microsoft doesn't appear to be interested in telling us such a
detail, with the tools they offer. You have to figure that
out for yourself.
http://blogs.msdn.com/b/astebner/archive/2008/10/13/8999004.aspx
Paul