"Error 87 the all option is not recognised in this context" using DISM to enable IIS

user3305823 picture user3305823 · Feb 13, 2014 · Viewed 8.7k times · Source

I am trying to use a bat to enable IIS to run an asp.net application on a windows 7 (professional) 64bit machine and seem to be constantly encountering this issue. I am running the bat file as an administrator. The entry in my bat file I am using is as follows:

%systemroot%\sysnative\dism /online /enable-feature /all /featurename:IIS-ASPNET45

According to the documentation I have read the all switch should enable all parent features needed to needed to run ASP.net 4.5. I've also tried using just IIS-ASPNET and IIS-ASPNET40 all received the same error.

Error 87 the all option is not recognised in this context

I originally tried to do each feature needed to run my application individually but encountered similar issues.

Answer

i3arnon picture i3arnon · Jul 31, 2014

You have 2 problems. The first is that the /all flag was introduced in Windows 8, and so nonexistent in Windows 7. The second is that the IIS-ASPNET45 feature also isn't a part of Windows 7, because .Net 4.5 came out after it did.

What you need to do is:

  • Enable the specific features you need for IIS explicitly using DISM:

dism.exe /NoRestart /Online /Enable-Feature /FeatureName:IIS-ApplicationDevelopment /FeatureName:IIS-CommonHttpFeatures /FeatureName:IIS-DefaultDocument /FeatureName:IIS-ISAPIExtensions /FeatureName:IIS-ISAPIFilter /FeatureName:IIS-ManagementConsole /FeatureName:IIS-NetFxExtensibility /FeatureName:IIS-RequestFiltering /FeatureName:IIS-Security /FeatureName:IIS-StaticContent /FeatureName:IIS-WebServer /FeatureName:IIS-WebServerRole
  • Register ASP.Net 4.5 (assuming .Net 4.5 is already installed):

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe /i