The latest MS updates I've gotten include separate ones for .Net Framework 2.0 SP2, 3.5 SP1, and 4. Do I need all of these? I've deferred installing them, but looking back over the update history I see them listed as having been successfully installed 5 days ago, judging from the KB numbers. Looking at services, I see the ver. 2 service is disabled. and ver. 4 is on automatic start (nothing listed for ver. 3.5). But in my programs listing I see that ver. 35 and the "4 Client Profile," whatever that is, are installed.
I' m wondering what's the point of the older versions & if it's necessary to keep updating them at all? My machine is working fine, as I don't want to have to roll back to earlier restore points due to installing unneeded updates as has happened before, though as far as I can recall not in connection with .NET. Would a good strategy be to install just the ver. 4 updates, keeping the others hidden until I get some error msg to indicate that they're needed? Any feedback on this complicated question would be appreciated. - edo
Hello, and welcome to the Vista Forums!
I am sorry that I havn't seen your post before now.
Yes, you do need all of them. There are two ways of explaining the .net Framework. Either I can give you a very simplified explanation, which is not the whole truth, but will allow you to know what to do in order to make your computer work, or I can tell you the actual truth. What exactly you need to do is included at the bottom of this post.
The last time I tried to tell someone the actual truth, somebody get extremely stressed that I was overcomplicating the situation.. However, I do want to tell you the truth. If you just want me to tell you what you need to do, missing out all of the unncessesary details, just let me know.
Below is the full truth:
.net Framework 3.0 and 3.5 and not true new versions. They both build on version 2.0, and therefore require 2.0 to operate. If they had repackaged all of the unchanged files, wasting disk space of course, they would have been called proper versions. If a file in 3.0 is unchanged from 2.0, it just redirects to 2.0, storing only the changed files. This is very understandable.
- 1.0: Proper .net Framework.
- 1.1: Relies on 1.0 being installed. If it is not already, it installs 1.0.
- 2.0: Proper .net Framework.
- 3.0: Relies on 2.0 being installed. If it is not already, it installs 2.0.
- 3.5: Relies on 3.0 and 2.0 being installed, and installs them if necessary.
- 4.0: Proper .net Framework. (also know as the Client Profile)
- 4.0 Extended: Relies on 4.0 Client version being installed, and installs if necessary (Full package includes Extended, Client package does not)
- Updates for any of them (such as security updates): Require the assciated full version.
- Service Pack (SP1 etc.) Redistributables downloads from the Microsoft website: Obviously require the original version to actually work, but HAVE THEM BUILT IN! Downloading the original version prior to Service Packs from the Microsoft Download Centre is NEVER required. Don't fret! (not Windows or Office Service packs obviously; this only applies to .net Redist and Visual C++ Redist Service Packs) Security updates DO NOT have the original version built in.
.net Framework are separate applications which install side by side, and compliment and NEVER conflict.
- Vista: Includes .net Framework 3.0 (and 2.0 to make it work) by default (Windows Features)
- 7: Includes .net Framework 3.5.1 (and 3.0 and 2.0 to make it work) by default (Windows Features)
So, they are designed to be installed side by side, but do you need them all?
Basically, yes. Certainly, uninstalling 2.0 and 3.0 will break 3.5. Trying to uninstall 4.0 Client will break Extended (although you won't be able to with the normal uninstaller anyway because that will really mess things up!)
So, do you need them all!?
An application coded for 4.0 will not work on 3.5. This is obvious.
An application coded for 3.5 will not necessarily work on 4.0.
So
YES! You need to keep them all!
In theory at least, to make every application run, you need all of the following .net Frameworks:
1.0 (1.0.3705)
1.1 (1.1.4322)
2.0 (2.0.50727)
3.0
3.5 (+3.5.1)
4.0 (4.0.30319)
However, 1.0 and 1.1 are
SO old that you
NEVER, and I actually mean
NEVER EVER need them on Vista and 7 (except in exceptional circumstances)
You most certainly need 2.0, as that is what most applications use. Then 3.5, and then 4.0 (number of programs using them) I am not quite sure where 1.0, 1.1 and 3.0 fit in.
So, leave them all installed would be my advice.
And just for completeness, a little bit about Client and Full:
The size difference is marginal. 41.0MB vs. 48.1 MB. The Full is required if you create .net Applications from scratch (ie you are a programmer) It contains a few additional features. Just a few. You as an end user won't use them. You only really need Client. If, however, you DO happen to install an application which uses these features, it will bundle the Full in as well. It will do, because it knows that almost no users will have the Full, and the application will crash if it doesn't bundle it in with the installer. You will then have the Full.
For the sake of a few MBs, and a quicker install some time later, just leave the Full on your system, if you have it.
For further information about Client and Full, see:
So, leave .net Framework well alone, otherwise applications requiring it which do not bundle it with the installer (bad applications, they ALWAYS should) will crash - Stopped Working and was Closed most likely.
And after all, any non-defaultly installed .net Frameworks has either been installed by you, or far more likely, but one of your favourite applications which will now crash without much warning or explanation.
One final quote from
cluberti,
MCTS: Windows Internals, MCITP Server 2008 EA, MCTS MDT/BDD, MCSE/MCSA Server 2003
Quote: Originally Posted by
cluberti
It's important to note that 3.0 and 3.5 are NOT technically full versions of a framework - for these to work correctly, you MUST have 2.0 installed. 3.0 and 3.5x provide additional functionality, but they do NOT work without the base 2.0 package (which is why you see the 3.5 redistributable on the web installing 2.0, 3.0, and 3.5 components!!!). The simple answer is, please don't do that. You'll break the entire framework. If you really need 3.5 installed on machines, get the 3.5 SP1 full network installation package, and use that installer to install 3.5 SP1 - it will update the 2.0, 3.0, and 3.5 .NET runtime components on the machine, although there are still security updates for those versions that you will need to also install manually or via windows update after installing 3.5 SP1 on XP. If you need 3.5 for Windows 7 or Server 2008 R2, simply enable the .NET feature in the "Turn Windows features on or off" control panel applet within the Programs section (or if you're a CLI guy, use dism.exe to add or remove the feature from a cmd prompt).
Right, one final part, directly relating to you.
"Looking at services, I see the ver. 2 service is disabled. and ver. 4 is on automatic start (nothing listed for ver. 3.5)"
As I said earlier, 2.0 and 4.0 (and 1.0) are full versions, and therefore have a service. (You do not have 1.0, because none of the programs you use require it)
"But in my programs listing I see that ver. 3.5 and the "4 Client Profile," whatever that is, are installed."
That is because .net 2.0 and 3.0 are not listed, because they are directly built into the OS. 1.0 and 1.1 are not installed on your machine, and neither are they listed, but you do have 3.5 and 4.0 listed because they are addons to the OS, and so show up here. You have the limited version of .net 4 (Client profile), because you are not a developer, and do not need the full version).
"I' m wondering what's the point of the older versions & if it's necessary to keep updating them at all?"
You need them all. Anything which you have installed needs updating, otherwise it is a security weakness. So, yes, you do need to keep updating them all. If Windows Update offers you an update, it is guaranteed to be required by your computer.
I hope that this helps, and clears up all confusion.
Richard