66

I am trying to use VS2010's 1-Click Publish feature to deploy a test site from my laptop to my server. I have the firewall turned off on both machines and the MS Deployment Service is up and running on both my laptop and the server.

However, when I try and publish from VS2010 on my laptop I get the following error:

Error 1 Web deployment task failed.(Remote agent (URL https://192.168.1.181/:8172/msdeploy.axd?site=LocationsTest) could not be contacted. Make sure the remote agent service is installed and started on the target computer.)
The requested resource does not exist, or the requested URL is incorrect.
Error details:
Remote agent (URL https://192.168.1.181/:8172/msdeploy.axd?site=LocationsTest) could not be contacted. Make sure the remote agent service is installed and started on the target computer.
An unsupported response was received. The response header 'MSDeploy.Response' was '' but 'v1' was expected.
The remote server returned an error: (404) Not Found. 0 0 Test.Web

Any idea what I am doing wrong here?

Marek Grzenkowicz
  • 17,024
  • 9
  • 81
  • 111
Cranialsurge
  • 6,104
  • 7
  • 40
  • 39

15 Answers15

75

Restart visual studio.

I've had this one come up on a few occasions after having just successfully deployed a WebApp on a server running IIS 7.5. Obviously since a deployment/publishing was done successfully on the server just before this error came up, there was very little that could have gone wrong on the server setup/configuration (unless the previous successful deployment did something horribly wrong and removed some configuration parameters on the server).

After having rebooted the server, checked that Web Management service and Web Deployment service were running correctly, and verified from cUrl tool that a GET of the MsDeploy.axd was successful there was only one thing left to do. Restart Visual Studio. Magically post restart of VS publish started working again. All on its own. Magical stuff, this Web Deployment :)

Shimmy Weitzhandler
  • 101,809
  • 122
  • 424
  • 632
bhavinb
  • 3,278
  • 2
  • 28
  • 26
40

Make sure you have the WMSvc Service (Web Management Service) set to 'Auto' (and started) so it's on when you restart & check out this link

Andre Lombaard
  • 6,985
  • 13
  • 55
  • 96
beatn1ck
  • 538
  • 5
  • 6
18

Make sure you have set Site/Application correctly in publish profile: Publish profile dialog in Visual Studio 2010

You get the same error message if you spell site or application name wrong.

Pavel Chuchuva
  • 22,633
  • 10
  • 99
  • 115
  • 1
    This was my needful, we had a system that was setup differently (than it should be) and I was going frikkin bonkers. – Dan Doyon Dec 08 '11 at 18:25
  • Pffft. "You get the same error message if you spell site or application name wrong." I'm such an idiot. – Brad Crandell May 17 '12 at 16:14
  • Yeah, if you wrongly thought like I did that you could setup a fresh server with web deploy -- WRONG. You need to at least rename "Default Web Site" to the actual website you would like to publish. (Or create a new website matching that name.) I was thinking when I published all of this would be done for me, but instead the publish just failed... – Mason G. Zhwiti Mar 05 '13 at 01:16
13

Although a lot of different unrelated things can contribute to getting the 404, I solved it for my by.

  1. When installing/reinstalling the WebDeploy installer, choose Custom/Change and then ensure that 'Management Service Delegation UI' is one of the installed options, it is not installed by default, but is required for WebDeploy to work (installer bug).
  2. Use the new Management Service Delegation icon in the Server node of the IIS manager to add the 'Deploy Applications with Content' role, accepting it's default settings. But you may also want to specify a "Run As" setting with a user that has rights to modify IIS settings.
  3. Restart the Web Management Service.

After this, everything works fine. Assuming the Web Management Service is setup correctly (mine is configured to accept remote connections, the firewall port was opened, and the user I'm uploading with was added to every single Site that I want to deploy to (using the IIS Manager Permissions icon in each Site node in the IIS Manager)).

Leniel Maccaferri
  • 100,159
  • 46
  • 371
  • 480
simbolo
  • 7,279
  • 6
  • 56
  • 96
  • 3
    +1 for Management Service Delegation UI. M$ lamers leaving common features disabled by default... – Tomas Nov 07 '12 at 12:54
11

We found the issue was because WebDeploy was installed before the Web Management Service feature was enabled on a Windows 2008 server. After Web Management Service is installed, uninstall Web Deploy fully. Then resinstall and make sure all components of the package are selected.

Following the reinstallation we were immediately able to publishing to the server from my local machine, and also from our CI.

A couple of points to note after reading the other answers:

  • If you are getting a 404 error the problem is not one of security.
  • We did not have to restart Visual Studio for this change to take effect.
  • Reinstallation will kick off the services in automatic mode, do not adust this setting.
Nick
  • 6,366
  • 5
  • 43
  • 62
  • 1
    To add to this, I had a similar issue but it worked for me after restarting the various services plus IIS on the server. Recommend installing the Management Service before Web Deploy in future! – randomsequence Jun 07 '12 at 11:25
  • The same problem here, WebDeploy must be installed after Web Management Service, now the error changed to unauthorized user which can be fixed, thanks Nick – Mohsen Afshin Sep 03 '12 at 06:30
4

I was able to fix the same issue when I changed the "Service URL" which uses "Windows Management Service" from:

https://ExampleURL:8172/msdeploy.axd?site=SiteName

to this which uses "Remote Agent Service" instead:

http://ExampleURL

It worked just fine after that.

WVDominick
  • 2,074
  • 15
  • 17
  • 1
    Confirming...this worked great for me as well in **Visual Studio 2013**. I ended up [reinstalling **Web Deploy**](http://stackoverflow.com/a/13871041/175679) and it took care of this issue. I can now use the first format and the second format equally without issue. – SliverNinja - MSFT Jan 28 '14 at 21:28
  • 1
    Worked for me too. Tnx! – Gašper Sladič Mar 18 '14 at 08:26
2

I've installed a couple of web servers and I keep getting this issue, so I'm posting my answer here so that I find it when I Google the problem.

Basically I always install Web Deploy 3 from the Web Platform Installer. This is the first mistake. For some reason this only installs half the stuff you need. If you have installed this, uninstall it and download the Web Deploy installer. Then choose "Complete" install.

If you are following this guide

Then disregard option 1. It's a trap

Start reading again from "2. Download the Web Deploy installer ..."

Andre Lombaard
  • 6,985
  • 13
  • 55
  • 96
Mike the Tike
  • 1,136
  • 8
  • 9
  • Well to be fair the Web Platform installer has the downloads for the missing pieces. You can install web deploy 3.5 on its own, but there is also Web Deploy 3.5 for Hosting Servers and Web Deploy 3.5 without bundled sql suppot (latest) – The Muffin Man Jan 20 '14 at 22:54
2

I got this error because I changed my password. The deployment wizard still saved my old password, after retyped my password, everything works fine now.

Adamy
  • 2,789
  • 3
  • 27
  • 25
  • Hahaha this was exactly what happened to me. Amazing that we faced this situation almost at the same time and nobody else had commented this issue – aleafonso Feb 08 '12 at 11:48
1

Silly me, I didn't have .NET 4 installed on the server

AMissico
  • 21,470
  • 7
  • 78
  • 106
1

I got 404 from a IE browser from https:// servername:8172/MsDeploy.axd

But Chrome did not make trouble.

This can be the first test to see if you can reach the Web Management service on the server at all. In other words: When chome worked (it responded with a blank page), then you have hole through to the service on the server.

Still you also need to have permission to deploy to the specific site. In IIS find the site and do that in "IIS Manager Permissions" under Management.

RaSor
  • 869
  • 10
  • 11
0

Like a dummy, this error was throwing for me because I hadn't installed the Remote Web Agent as part of the Web Deployment Tool available here.

sewershingle
  • 149
  • 1
  • 5
0

Even though all required software are installed I had similar error. I noticed that the service URL didn't prefixed with http://. Once prefixed it works well.

Sundar
  • 161
  • 1
  • 2
0

I was getting similar errors from VS 2013 and found a fix I did not see mentioned any of the other answers.

Errors:

  • The underlying connection was closed
  • Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host, from the build server (TFS 2010).

Fix:

The fix in my case was to re-enable TLS 1.0 on the target. It's a registry key but I am using the free IISCrypto applet for this.

Leigh
  • 28,765
  • 10
  • 55
  • 103
DLF
  • 1
0

This same message would occur almost at random when publishing projects from visual studio 2010.

The fix was to delete the $projectname.Publish.xml file (in the root directory of the project) and re-create it.

maxp
  • 24,209
  • 39
  • 123
  • 201
0

If you are using an SSL certificate you should go into Management Service under the IIS Manager section of Server Manager and stop the service, select the correct certificate and then start the service again. This is what worked for me (I was getting Forbidden message).

Mike Cheel
  • 12,626
  • 10
  • 72
  • 101