What versions of dotNET Framework are really necessary?

Y

Yousuf Khan

What's wrong with dotNET framework and Windows XP? Every few months, I
get the inevitable message that a dotNET patch is available from Windows
Update, and inevitably it fails to install! The usual solution to this
is to completely uninstall all versions of dotNET, and reinstall it.
I've been down this path, over and over again, so often that I've lost
count. I'm going through it over again right now on an old XP laptop I
keep around for emergencies. It takes hours to do these procedures,
fortunately it's Sunday today. I don't have these problems under Windows 7.

Before, I'd just dutifully reinstall all of the versions of dotNET that
were on the laptop before. But now I'm thinking I'm not going to bother
and only put the most useful versions in. I'm not going to bother with
1.0 and 1.1, as I think there is nothing left that still uses it, that
can't already use 2.0+. I'm thinking of installing only 3.5 SP1, as that
also installs 2.0 and 3.0 automatically. I'm thinking of skipping over
4.0 and 4.5. Are there any Windows-supplied components that need 4.0 or
above?

Yousuf Khan
 
Y

Yousuf Khan

There are bound to be some newer apps coming along that will require 4.0 or
4.5 as I see it, but if you don't need them now, why bother.

I guess, they will let you know they need those versions when they come
out, and might even offer to install them for you in that case?
I think you're right on (on what you wrote). (I'd skip all those updates
for the reasons you've mentioned, but I'm probably alone in this crowd to
actually state that). :)

Oh, and I thought NET 4.5 required a newer OS (and not WindowsXP), anyways,
but I may be misremembering and having a senior moment.

You may be right, I think I only ever had upto 4.0 installed on XP. I
just mentioned 4.5 for completeness in case I find something that needs it.
One other note - are you sure that there isn't anything on your computer
that depends on .NET 1.1, and that will still work fine if you skip
installing it, and just start with 2.0? (I don't know, but someone else
here might).

If I see an error message from a program that used to work, then I'll
know I still have such old programs. Until then, I think I'll skip the
1.x versions. Here's a blog that seems to indicate that 1.0 and 1.1 is
not really needed in most cases:

Mailbag: Do I need still need older versions of the .NET Framework on my
system after installing .NET Framework 3.5 SP1? - Aaron Stebner's WebLog
- Site Home - MSDN Blogs
http://blogs.msdn.com/b/astebner/archive/2009/04/20/9557946.aspx
I'm still thinking about installing .NET 3.5 SP1 too, like you. But I'm not
going to uninstall what I've already got on here in .NET (1.1 and 2.0).

My Windows 7 laptop only has dotNET Framework 4 Client Profile
installed, and it seems to be working well with everything so far.

Yousuf Khan
 
P

Paul

Bill said:
There are bound to be some newer apps coming along that will require 4.0 or
4.5 as I see it, but if you don't need them now, why bother.

I think you're right on (on what you wrote). (I'd skip all those updates
for the reasons you've mentioned, but I'm probably alone in this crowd to
actually state that). :)

Oh, and I thought NET 4.5 required a newer OS (and not WindowsXP), anyways,
but I may be misremembering and having a senior moment.

One other note - are you sure that there isn't anything on your computer
that depends on .NET 1.1, and that will still work fine if you skip
installing it, and just start with 2.0? (I don't know, but someone else
here might).

I'm still thinking about installing .NET 3.5 SP1 too, like you. But I'm not
going to uninstall what I've already got on here in .NET (1.1 and 2.0).

..NET 1.0 and 1.1, are considered to be a separate software stream. You
keep them installed, if you know some ancient software is coded to only
use them.

Anything above 2.0 is part of the "layer cake".

http://upload.wikimedia.org/wikipedia/commons/thumb/d/d3/DotNet.svg/513px-DotNet.svg.png

Mayamaya made a tool for scanning for .NET programs, and telling
you what version they required. Which is one way to determine how
many layers of the cake should be present, if you want those
programs to work.

http://www.jsware.net/jsware/scripts.php5#peops

http://www.jsware.net/jsware/linkpics/dncheck.gif

That concept, of scanning the executable, relies on the CLR
(Common Language Runtime) number stored in the file. It's supposed
to be an indicator of the minimum runtime that the program can use.

There is a so-called complete list of CLR numbers here, but this
level of detail is unnecessary.

http://en.wikipedia.org/wiki/List_of_.NET_Framework_versions

The table here should be adequate for a quick check.

http://en.wikipedia.org/wiki/.NET_Framework

I tried my hand at scanning my own disk here, with my own approach,
but I wasn't happy with the results. I wasn't sure my scanner was
"catching everything". I had problems with 64 bit programs for example.

I would much prefer that Microsoft write programs like that.
Maybe we could get Mark Russinovich (Sysinternals) to write one :)

Paul
 
P

Paul in Houston TX

Yousuf said:
What's wrong with dotNET framework and Windows XP? Every few months, I
get the inevitable message that a dotNET patch is available from Windows
Update, and inevitably it fails to install! The usual solution to this
is to completely uninstall all versions of dotNET, and reinstall it.
I've been down this path, over and over again, so often that I've lost
count. I'm going through it over again right now on an old XP laptop I
keep around for emergencies. It takes hours to do these procedures,
fortunately it's Sunday today. I don't have these problems under Windows 7.

Before, I'd just dutifully reinstall all of the versions of dotNET that
were on the laptop before. But now I'm thinking I'm not going to bother
and only put the most useful versions in. I'm not going to bother with
1.0 and 1.1, as I think there is nothing left that still uses it, that
can't already use 2.0+. I'm thinking of installing only 3.5 SP1, as that
also installs 2.0 and 3.0 automatically. I'm thinking of skipping over
4.0 and 4.5. Are there any Windows-supplied components that need 4.0 or
above?

Yousuf Khan

I use several programs to scan the web for serial devices
monitored by my company. Those programs use 3.5.
Other than that, I have not had a use for any dot nets.
Dot2 is required as a base for 3.5.
I have not upped to 4x and don't plan on it.
 
Y

Yousuf Khan

Mayamaya made a tool for scanning for .NET programs, and telling
you what version they required. Which is one way to determine how
many layers of the cake should be present, if you want those
programs to work.

http://www.jsware.net/jsware/scripts.php5#peops

http://www.jsware.net/jsware/linkpics/dncheck.gif

Cool program. Just ran it over the 32-bit executables, and that was
enough to show that the vast majority of dotNET executables only need to
use 2.0 and higher.

Yousuf Khan
 
G

glee

Yousuf Khan said:
What's wrong with dotNET framework and Windows XP? Every few months, I
get the inevitable message that a dotNET patch is available from
Windows Update, and inevitably it fails to install! The usual solution
to this is to completely uninstall all versions of dotNET, and
reinstall it. I've been down this path, over and over again, so often
that I've lost count. I'm going through it over again right now on an
old XP laptop I keep around for emergencies. It takes hours to do
these procedures, fortunately it's Sunday today. I don't have these
problems under Windows 7.

Before, I'd just dutifully reinstall all of the versions of dotNET
that were on the laptop before. But now I'm thinking I'm not going to
bother and only put the most useful versions in. I'm not going to
bother with 1.0 and 1.1, as I think there is nothing left that still
uses it, that can't already use 2.0+. I'm thinking of installing only
3.5 SP1, as that also installs 2.0 and 3.0 automatically. I'm thinking
of skipping over 4.0 and 4.5. Are there any Windows-supplied
components that need 4.0 or above?

You're best course is to follow the guidelines of Aaron Stebner's blog.
I would not install 1.0 or 1.1 unless it is specifically needed and
"asked" for by an installed program. Install 3.5 SP1 and it will cover
the apps using 2.0 and 3.0 as well, then install updates to it as
needed. No need to install v.4 unless you install a program that asks
for it, as with v1.0 and 1.1.

Be sure to use Stebner's .NET Removal Tool prior to installing again. I
have used it many times... in fact, due to the frequency of failures
using the ,NET uninstall routine in Add or Remove Programs, I no longer
bother doing the "formal" uninstall and just use Stebner's removal tool
to remove all at once.

I don't use hardly any apps that run on .NET. Some of my clients use
TurboTax, which does, as well as some other financial software (Quicken
or QuickBooks? I forget which). Despite the recent release of .NET 4.x,
I still think .NET will have a limited lifespan and eventually be left
behind.
 
Y

Yousuf Khan

You're best course is to follow the guidelines of Aaron Stebner's blog.
I would not install 1.0 or 1.1 unless it is specifically needed and
"asked" for by an installed program. Install 3.5 SP1 and it will cover
the apps using 2.0 and 3.0 as well, then install updates to it as
needed. No need to install v.4 unless you install a program that asks
for it, as with v1.0 and 1.1.

Yes, initially I was coming to the decision to go with 3.5SP1 only. As
you said, that also installs 2.0 and 3.0 by default. But then I looked
at a couple of my Windows 7 machines, and found out that they only
install 4.0, and that by itself seems to cover everything too. So I've
decided to skip everything before 4.0 and just install 4.0.

It's interesting watching Microsoft's varying design decisions over the
years. With 1.0 and 1.1, they were standalone, and each one seemed to
cover different programs entirely. Then with the 2.0-3.5 era, they went
to a modular model, where each version added another layer to the
previous version, and made use of the previous version. And now in 4.0,
it looks like they've re-entered the monolithic model, but this time the
one version, 4.0, emulates all previous versions by itself without
making use of the previous versions.
Be sure to use Stebner's .NET Removal Tool prior to installing again. I
have used it many times... in fact, due to the frequency of failures
using the ,NET uninstall routine in Add or Remove Programs, I no longer
bother doing the "formal" uninstall and just use Stebner's removal tool
to remove all at once.

Yeah, I have that removal tool saved in my downloaded software
directory, permanently. I have used it more often than the standard
removal procedures too.
I don't use hardly any apps that run on .NET. Some of my clients use
TurboTax, which does, as well as some other financial software (Quicken
or QuickBooks? I forget which). Despite the recent release of .NET 4.x,
I still think .NET will have a limited lifespan and eventually be left
behind.

I've got a few apps that do use it. It's hard to tell which ones use
dotNET or not, until you remove the API, and then all of a sudden
programs stop working. Then you ask yourself, "THAT uses dotNET too?
Hmm.". ;)

Yousuf Khan
 
Y

Yousuf Khan

I use several programs to scan the web for serial devices
monitored by my company. Those programs use 3.5.
Other than that, I have not had a use for any dot nets.
Dot2 is required as a base for 3.5.
I have not upped to 4x and don't plan on it.

I've now found that dotNET 4.0 seems to be sufficient for all software
written for previous versions of it. Using 4.0, I was able to remove all
prior versions of dotNET. So that by itself would be a good reason to
upgrade to it: simply to simplify your machine setup.

Yousuf Khan
 
G

glee

Yousuf Khan said:
Yes, initially I was coming to the decision to go with 3.5SP1 only. As
you said, that also installs 2.0 and 3.0 by default. But then I looked
at a couple of my Windows 7 machines, and found out that they only
install 4.0, and that by itself seems to cover everything too. So I've
decided to skip everything before 4.0 and just install 4.0.

It's interesting watching Microsoft's varying design decisions over
the years. With 1.0 and 1.1, they were standalone, and each one seemed
to cover different programs entirely. Then with the 2.0-3.5 era, they
went to a modular model, where each version added another layer to the
previous version, and made use of the previous version. And now in
4.0, it looks like they've re-entered the monolithic model, but this
time the one version, 4.0, emulates all previous versions by itself
without making use of the previous versions.


Yeah, I have that removal tool saved in my downloaded software
directory, permanently. I have used it more often than the standard
removal procedures too.


I've got a few apps that do use it. It's hard to tell which ones use
dotNET or not, until you remove the API, and then all of a sudden
programs stop working. Then you ask yourself, "THAT uses dotNET too?
Hmm.". ;)

Thanks for the feedback, Yousuf.... good to know.
 
P

Paul in Houston TX

Yousuf said:
I've now found that dotNET 4.0 seems to be sufficient for all software
written for previous versions of it. Using 4.0, I was able to remove all
prior versions of dotNET. So that by itself would be a good reason to
upgrade to it: simply to simplify your machine setup.

Yousuf Khan

Interesting! Thanks Yousuf.
I'll add up and compare the file sizes.
 
P

Paul

Bill said:
But I would still keep 1.0 and 1.1 installed, just in case. I'm not sure
how practical that was for the OP (I think he said he was pretty sure he
didn't need it anyways). I don't want to go thru a bunch of apps and
check them individually, one by one, since I've probably got several hundred
apps installed here (dating back to Win95), and it would take forever.

That's what things like the Mayamaya utility are for.
Making a listing of all .NET apps, and their CLR version.

Paul
 
P

Paul

Bill said:
Correct me if I'm wrong, but I thought (with that program) you had to
manually drag the app executables into his program, one by one, and check
the results.

Or at least that's what I had thought I'd read. If that's the case, I
wouldn't know where to start, given all the apps I've got installed on here.

IOW, as I recalled, you couldn't just run his program from the "get go", and
it would automatically scan everything in your registry that was installed
and identify the NET programs. But maybe I misremembered and/or misread.

From a text file in the package...

http://www.jsware.net/jsware/zips/peops.zip

*******
_________________________________________________
DotNet Checker Folder:
_________________________________________________

* Check1FileForDotNet.vbs - Drop a file onto this script
to find out what, if any, .Net framework is required for the
file to run.

* DotNet Checker.hta - A script-powered webpage utility.
Enter a folder path to get a list of EXEs and DLLs that require .Net.

The main purpose of DotNet Checker is for people who want
to remove 1 or more .Net frameworks, but are not sure whether
they might need them for installed software.

*******

You'd probably want the second one, DotNet Checker.hta. If you
change the file extension to .txt, you can open it with Notepad
and read the source.

MsgBox "The parent folder path for search must be entered."

The CDotNetPE.vbs file is the helper routine, that does the
actual check (it does one file at a time). By stepping along
the PE header, and reading stuff. You can change the extension
on that file to .txt, and read how that is done as well.

HTH,
Paul
 
Y

Yousuf Khan

But I would still keep 1.0 and 1.1 installed, just in case. I'm not sure
how practical that was for the OP (I think he said he was pretty sure he
didn't need it anyways). I don't want to go thru a bunch of apps and
check them individually, one by one, since I've probably got several hundred
apps installed here (dating back to Win95), and it would take forever.

As I said before, Microsoft seems to be confident enough in dotNET 4.0
to make it the only dotNET available for Windows 7. That might indicate
that it's got all of the quirks of previous versions emulated too.

Yousuf Khan
 
Y

Yousuf Khan

Or (as Bill more or less says in the next post) that they are saying
anything that needs 1.x won't run on 7 anyway, which is not the same
thing as saying it (4.x) _does_ emulate 1.x.

I think being able to get rid of just the 2.0 - 3.5 set saves a lot of
disk space and setup complexity, by itself. Keeping a combination of 1.x
and 4.x Frameworks installed might be all that's necessary.

I don't know any programs that still use the 1.x set. If anyone still
has 1.x Framework programs, maybe it would be an interesting test to
uninstall the 1.x Framework, but keep those 1.x programs.

Yousuf Khan
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top