Web deploy in Visual Studio 2010 - web management service is missing

C#Visual Studio-2010Web Deployment-ProjectWeb Platform-Installer

C# Problem Overview


I'm setting up a new server on Windows 2008 (x64) with IIS 7.5. I have installed Web Deploy 2.1 from the Web Platform Installer.

But the server is missing the Web Management Service, and as a result any web deploy fails with this message:

Error	1	Web deployment task failed.(Could not complete the request to remote agent URL 'https://url:8172/MsDeploy.axd?site=Default Web Site'.)
This error indicates that you cannot connect to the server. Make sure the service URL is correct, firewall and network settings on this computer and on the server computer are configured properly, and the appropriate services have been started on the server.
Error details:
Unable to connect to the remote server
No connection could be made because the target machine actively refused it 

I checked the services and found the necessary service is missing:

enter image description here

The Web Deployment agent service is installed (this is the IIS6 service), but not the Web Management service (the IIS7 deploy service).

How can I fix this? Does the Web Platform Installer not work for Web Deploy?

C# Solutions


Solution 1 - C#

Here is a current walkthrough as of April 2014:

  1. Install the Web Platform Installer on the server, which is available as a download from Microsoft.

  2. Open Web Platform Installer, select "Products" at the top, and search for "Management Service". Click the "Add" button from the "IIS: Management Service" result , then click "Install".

  3. Once the Web Management Service has installed, find it in the Services console. Set its startup type to Automatic and start it.

  4. Open IIS. With the server node selected, find "Management Service" in the Features View.

  5. Double click "Management Service" to open the feature. Stop it in the right panel if necessary to make edits. Check "Enable remote connections". When you are done making changes. Click "Apply", then click "Start".

Solution 2 - C#

Open Web Platform Installer(WPI) and add IIS: Management Service, under Products.

If you don't know where to find WPI go to IIS Manager -> Server Node -> Management Section in the Server. If it's not on there install it from http://www.microsoft.com/web/gallery/install.aspx?appid=WDeploy

Solution 3 - C#

In PowerShell:

Import-Module Servermanager
Import-Module WebAdministration
Add-WindowsFeature Web-Mgmt-Service

Solution 4 - C#

Launch InetMgr.exe and while being on the server node in the tree view, select "Management Service". By default it is disabled, so you need to check "Enable remote connections".

Solution 5 - C#

If you go into Add/Remove Programs, find Web Deploy, and hit Change, you should be able to add any missing features. Possibly the WebPI package you selected didn't install it by default (IIRC, there are multiple WebDeploy install packages).

Solution 6 - C#

Something to keep in mind, after following all these steps (IIS7) I couldn't enable remote connections because it was greyed out. So I stopped the Management Service, refreshed the console(still remained greyed), then clicked on the bottom Contents View tab and came back to the Features View tab, and finally it allowed me to enable remote connections. Looked like a bug to me after installing the product, but it maybe because I didn't upgrade to the latest Web Platform Installer.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionJK.View Question on Stackoverflow
Solution 1 - C#Chris SchiffhauerView Answer on Stackoverflow
Solution 2 - C#Jorge Rodrigues dos SantosView Answer on Stackoverflow
Solution 3 - C#IvanView Answer on Stackoverflow
Solution 4 - C#katerohView Answer on Stackoverflow
Solution 5 - C#JimmyView Answer on Stackoverflow
Solution 6 - C#Ashish YengkhomView Answer on Stackoverflow