Dot Net 4.5 features on Windows 2008

I want to use a DSC script to add WindowsFeatures like WCF Activation.

  • Taregt machine is 2008 R2 SP1
  • Dot Net version is 4.5.50709, confirmed via the registry
  • WMF is version 4 was installed. (though $PSVersionTable says 3.0)
  • Powershell version is 4, as per PSVersionsTable
  • Various reboots have been applied.

Several things appear wrong.
Firstly the DSC script (run from a remote machine) returns an error saying “The requested feature NET-WCF-Services45 is not found on the target machine.” and running “Add-WindowsFeature NET-WCF-Services45” from the machine also returns an error saying “Invalid role, role service, or feature:”

Running Get-WindowsFeature returns .Net 3.5 but no mention of .Net 4.5

Looking at adding roles through the GUI and again, only .Net 3.5 shows.

What am I missing? Where has my .Net 4.5 gone?
I’m sure it’s something daft I’ve done, or not done, some step I’ve missed maybe.

Hi Simon,

The DotNET 4.5 features are not present in 2008 R2 because the OS was released way before this version of the framework existed. 4.5 is only available as post install package. I do not know if the 4.5 package for legacy OS versions like 2008 R2 even provides the WCF Service feature implicitly.

Check out the DotNET version history on Wikipedia.

I hope above helps.


Thanks for the response.

I took a look at that link, it only seems to show chronology, and not compatibility, so it doesn’t tell me if 4.5 is supposed to work on 2008 R2.

Yes, I know 4.5 did not come with 2008 R2, I added the post install package when I built the machine.
In the registry it shows that 4.5 is installed, and the ‘Add Remove Programs’ shows 4.5 is there, I can even run the removal of it.
What I can’t do is get Powershell to see or acknowledge it.

Hi Simon,

I could be wrong here but i believe that there are 2 different version of .net 4.5 (at least i remember a version of .Net being like this), one being from windows updates (not full version) and one being the full version as a stand alone install. Could that be your problem?

Hi Simon,

DotNET 4.5 is compatible with 2008 R2. Otherwise Microsoft would not offered it as post install because they need to support it for several years on that OS.

However the particular Windows feature WCF 4.5 you are looking for might not be included in the post install version due to a dependency on another component in the more recent OS version like 2012 which they cannot easily back port to 2008 R2.

As far as I know Windows features always come with a particular OS version due to above mentioned dependencies.

Why aren’t you moving away from 2008 R2 to 2012 R2 where the feature is available and supported by Microsoft? The application compatibility of 2012 R2 is very good from my experience. Moving to the next version from 2008 R2 is most of the time not a problem at all. Most of the breaking changes happened with the 2008/Vista release. 2008 R2, 2012, 2012 R2, 2016 are evolutions of the concepts introduced in 2008/Vista with additional features added or improved.


Thanks guys for the replies.
I was originally given a requirement to support 2008 R2 as that is the supported platform for some of our software (getting clients to update in a timely fashion is a problem you are probably all aware of).
That said, we have decided to specify 2012 Server as the minimum supported level now, for that and for all the other benefits it brings, and will revisit this problem if and when we get kickback.

Thanks for the help