Microsoft has a knowledge article about the Web Application requirements for Master Data Services, which describes a massive list of features and roles that need to be installed on Windows Server.
After having to comb through this during failed installs one too many times, I put together the equivalent set of PowerShell commands so you can get it right on the first attempt .
# Roles for Windows Server 2008 R2
Add-WindowsFeature Web-Server
Add-WindowsFeature Web-Common-Http
Add-WindowsFeature Web-Static-Content
Add-WindowsFeature Web-Default-Doc
Add-WindowsFeature Web-Dir-Browsing
Add-WindowsFeature Web-Http-Errors
# Add-WindowsFeature Web-App-Dev # Installs too much
Add-WindowsFeature Web-Asp-Net
Add-WindowsFeature Web-Net-Ext
Add-WindowsFeature Web-ISAPI-Ext
Add-WindowsFeature Web-ISAPI-Filter
Add-WindowsFeature Web-Health
Add-WindowsFeature Web-Http-Logging
Add-WindowsFeature Web-Request-Monitor
Add-WindowsFeature Web-Security
Add-WindowsFeature Web-Windows-Auth
Add-WindowsFeature Web-Filtering
Add-WindowsFeature Web-Performance
Add-WindowsFeature Web-Stat-Compression
Add-WindowsFeature Web-Mgmt-Tools
Add-WindowsFeature Web-Mgmt-Console
# Features for Windows Server 2008 R2
Add-WindowsFeature NET-Framework
Add-WindowsFeature NET-Win-CFAC
Add-WindowsFeature NET-HTTP-Activation
Add-WindowsFeature NET-Non-HTTP-Activ
Add-WindowsFeature WAS
Add-WindowsFeature WAS-Process-Model
Add-WindowsFeature WAS-NET-Environment
Add-WindowsFeature WAS-Config-APIs
# Roles for Windows Server 2012
Add-WindowsFeature Web-Mgmt-Console
Add-WindowsFeature Web-Net-Ext
Add-WindowsFeature Web-Net-Ext45
Add-WindowsFeature Web-Asp-Net
Add-WindowsFeature Web-Asp-Net45
Add-WindowsFeature Web-ISAPI-Ext
Add-WindowsFeature Web-ISAPI-Filter
Add-WindowsFeature Web-Default-Doc
Add-WindowsFeature Web-Dir-Browsing
Add-WindowsFeature Web-Http-Errors
Add-WindowsFeature Web-Static-Content
Add-WindowsFeature Web-Http-Logging
Add-WindowsFeature Web-Request-Monitor
Add-WindowsFeature Web-Stat-Compression
Add-WindowsFeature Web-Filtering
Add-WindowsFeature Web-Windows-Auth
# Features for Windows Server 2012
Add-WindowsFeature NET-Framework-Core
Add-WindowsFeature Web-Asp-Net45
Add-WindowsFeature NET-WCF-HTTP-Activation45
Add-WindowsFeature NET-WCF-TCP-Activation45
Add-WindowsFeature WAS-Process-Model
Add-WindowsFeature WAS-NET-Environment
Add-WindowsFeature WAS-Config-APIs
# Internet Explorer reminder
<#
In IE 8 or 9, turn off the compatibility view.
In IE 10 or 11, turn on the compatibility view.
#>
$explorerVersion = Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Internet Explorer' | Select -ExpandProperty Version
if ($explorerVersion -like "9.10.*" -or $explorerVersion -like "9.11.*") {
Write-Host "Remember to add this site to the Compatibility View"
}
I haven't found a good and reliable way of setting that compatibility view yet.