2

I can't seem to get a simple application to deploy to an IIS server that I am the administrator of. Here is the error message I get from VS2010 (domain name modified to protect the innocent):

    ------ Build started: Project: HelloWorldWeb, Configuration: Debug Any CPU ------
      HelloWorldWeb -> D:\$Data\mhtest\HelloWorldWeb\bin\HelloWorldWeb.dll
    ------ Publish started: Project: HelloWorldWeb, Configuration: Debug Any CPU ------
    Transformed Web.config using Web.Debug.config into obj\Debug\TransformWebConfig\transformed\Web.config.
    Auto ConnectionString Transformed Account\Web.config into obj\Debug\CSAutoParameterize\transformed\Account\Web.config.
    Auto ConnectionString Transformed obj\Debug\TransformWebConfig\transformed\Web.config into obj\Debug\CSAutoParameterize\transformed\Web.config.
    Copying all files to temporary location below for package/publish:
    obj\Debug\Package\PackageTmp.
    Start Web Deploy Publish the Application/package to http://www.myserver.com/MSDEPLOYAGENTSERVICE ...
    C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets(3847,5): Error : Web deployment task failed.(Remote agent (URL http://www.myserver.com/MSDEPLOYAGENTSERVICE) could not be contacted.  Make sure the remote agent service is installed and started on the target computer.)
    Make sure the site name, user name, and password are correct. If the issue is not resolved, please contact your local or server administrator.
    Error details:
    Remote agent (URL http://www.myserver.com/MSDEPLOYAGENTSERVICE) 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 'V1' but 'v1' was expected.
    The remote server returned an error: (401) Unauthorized.
    Publish failed to deploy.
    ========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========
    ========== Publish: 0 succeeded, 1 failed, 0 skipped ==========

So far I have:

  • Installed Web Deploy 3.0 on the IIS server
  • Installed Web Management Service, although I don't think I'm attempting to use this yet, I want to do all this over port 80 for the time being (as opposed to 8172).
  • Ensured the service MsDepSvc is running as a user who is a member of Administrators
  • Ensured the credentials I use in VS2010 during deploy is a user who is a member of Administrators
  • Ensured the site and the application I've entered match what's already in existence on the IIS server

Other details:

  • The IIS server is remote, behind a firewall, not on my workstation's domain. I assume I should be doing this using Basic Auth, although I cann't find a way to specify this if it's not already the default.
  • If I open a browswer and navigate to http://www.myserver.com/MSDEPLOYAGENTSERVICE, sure enough I'm prompted for credentials. If I key in valid admin credentials, I get a blank screen - network tracing shows that the server responded with a 401.
Michael12345
  • 2,520
  • 5
  • 23
  • 41

1 Answers1

5

I managed to get it working. I returned to a troubleshooting document: http://www.iis.net/learn/publish/troubleshooting-web-deploy/troubleshooting-common-problems-with-web-deploy

About a third of the way down it references 401 errors, I read it more closely:

Trying to access Remote Agent Service as a non-administrator

SYMPTOMS

Microsoft.Web.Deployment.DeploymentException:

Could not complete the request to remote agent URL 'http://DestinationServer/msdeployAgentService'. ---> System.Net.WebException: The remote server returned an error: (401) Unauthorized.

ROOT CAUSE

Remote Agent Service requires that the caller is a member of the Administrators group or from a domain account that has been added to the Administrators group. A local administrator which is not the built-in account will not work with the Remote Agent Service because of a bug in Web Deploy 2.0.

FIX/WORKAROUND

Provide administrative credentials

So, I didn't need to use "an" administrator account, I needed to use "the" Administrator account. I might have noticed this the first time if it didn't use a confusing double-negative and was clear about the bug also existing in the current version, i.e. 3.0 at the time of writing.

Michael12345
  • 2,520
  • 5
  • 23
  • 41
  • 3
    This bug is infuriating! How hard could it have been to fix this bug from 2.0 to 3.0?!!! I have to completely change my continuous integration process because of this!!!!! – Hungry Beast May 01 '13 at 15:01
  • 1
    Its even more infuriating that is still isn't patched as I'm doing setups just now!!! – Jon Egerton Jan 27 '14 at 00:10