17
votes

In Windows Server 2008 R2, I cannot activate WCF Http/Tcp Activation windows features for .net 4.5 from Server Manager

enter image description here

Server manager in Windows Server 2008 R2 does not support .net 4.5, even though .net 4.5 can be installed and used in IIS in Windows Server 2008 R2.

I can activate in my local Windows 8, using Turn Windows feature on/off window. The same Turn Windows feature on/off window link in Windows Server 2008 takes you to Server Manager

enter image description here

Powershell also does not list it on Server 2008. How to install HTTP Activation and TCP Activation for WCF services under .NET Framework 4.5 Advanced Services in Windows Server 2008?

1
I could be wrong but if you check it for .net 3.5 when you go to install .net 4.5 from the redistributable install it will automatically setup what you have checked for 3.5PCG
There is no .NET 4.5 option in Win2008R2. Just do what P_G said and check the 3.5 components and then after install the 4.5 framework from the redistributable. 2008 R2 will run .NET 4.5. We're running several WCF services under 4.5 on Win2008R2 boxes in production at work.Tim

1 Answers

8
votes

P_G's comment is correct. If that is checked, and .net45 installed later, it installs with those features.

I wanted to turn it on for .net45 primarily to fix the <system.serviceModel> section not defined error, that occurs if WCF activation services are not running.

I also noticed that powershell continues to throw the above error, when using Set-WebConfigurationProperty This is because powershell in server 2008 tries to parse the web.config from a .net 2.0 context (.net 3.5 and 3.0 shares config files location with .net 2.0 - c:\Windows\Microsoft.NET\Framework64\v2.0.50727\config\machine.config) and fails - because in that location system.serviceModel is not defined there.

The application however works fine, because the IIS website uses (c:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config) and it is defined there.

Checking that checkbox defines the section in c:\Windows\Microsoft.NET\Framework64\v2.0.50727\config\machine.config as well - so powershell can also now parse web.config and set-iis properties.