| Any suggestions on ways to
| audit my PC for programs that use .net (and which version of
| .net)?
|
There may not be any simple way to check,
other than trying them or posting a list here to
get feedback from others.
Since the runtime is so big, most software authors
won't be anxious to tell you that their software requires
..Net. A couple of times I've downloaded something that
tried to go online and install the .Net Framework without
even asking permission. Microsoft encourages that
behavior. (There was a time when all software downloads
would list the download size and the requirements. In many
cases now they no longer list either.)
There could be issues with some printers or other
hardware. If you have something like that requiring .Net
you might have difficulty removing it, though you may
still only need v. 2. Other than that I don't know of
many Windows programs that use .Net. The two that
Jo-anne mentioned seem to be some kind of DRM
http://www.wave.com/products/esc.asp
and a shareware program that looks for software updates.
Generally, small shareware is the most likely to require
..Net. The code is relatively slow; the dependencies are
gigantic; and since it's not actually compiled software, .Net
programs can be decompiled. Those are all qualities that
commercial software authors try to avoid.
The basic library that all .Net programs need, as far as
I know, is mscoree.dll. If you try to run .Net software with
no .Net you probably won't see an informative error message.
You'll just get a message that "mscoree.dll is missing". That's
the giveaway. You might be able to test by temporarily
renaming mscoree.dll and then running your software, but if
you have System File Protection enabled it might not let you
do that.
There's a very useful program named depends.exe that you
can use to find out what libraries a program needs:
http://en.wikipedia.org/wiki/Dependency_Walker
The website for download seems to be currently down. I
have several SDKs and found that depends.exe is included
*at least* in the Win2003 Server DDK. So you should be able
to get depends.exe or its equivalent one way or another.
Depends lists libraries and which functions are being used
from those libraries. It doesn't always manage to find all
dependencies for all EXEs, but it should something like
mscoree.dll.
Java is a similar problem to .Net. Most software doesn't
need it, but occasionally some website functionality might
need it. OpenOffice needs Java for something or other...
I don't know what.... but I was able to find a Java-free
OO installer that's worked fine for me.