使用MSDeploy命令部署Web应用程序的问题

Iul*_*ies 5 msdeploy

我有一个Web应用程序,我试图使用MSDeploy.exe(Web Deploy 2)在Web服务器上部署它

我尝试过4种情况:

  1. 通过VS2010发布方法,设置如下:
    发布方法:Web部署
    服务网址:https://开头MyServerName:8172/MsDeploy.axd
    网站/应用:MyWebSiteName
    允许不可信:检查
    用户名:MyUserName输入
    密码:MYPASSWORD
    此方法的工作就好了.
    在MyServerName机器上,我运行Web管理服务; 我有一个网站MyWebSiteName,一个应用程序MyWebAppName和MyUserName是一个IIS管理器.

  2. 通过VS2010发布方法,设置如下:
    发布方法:Web部署
    服务网址:https://开头MyServerName:8172/MsDeploy.axd
    网站/应用:MyWebSiteName/MyWebAppName
    允许不可信:检查
    用户名:MyUserName输入
    密码:MyPassword输入
    此方法的工作就好了.

  3. 通过MSDeploy.exe命令行(PowerShell脚本内)
    $源= "的contentPath = '...._ PublishedWebsites\MyWebApp'"
    $目的地="的contentPath = MyWebSiteName,计算机名='https://开头FC-wapps审:8172 /MsDeploy.axd?Site=WebSiteTest',Username=MyUsername,Password=MyPassword,AuthType=basic"
    MSDeploy -verb:同步-源:$来源-dest:$目的地-allowUntrusted
    这种方法也能正常工作.

  4. 通过MSDeploy.exe命令行(PowerShell脚本内)
    $源= "的contentPath = '...._ PublishedWebsites\MyWebApp'"
    $目的地="iisApp = MyWebSiteName/MyWebAppName,计算机名='https://开头FC-wapps审:8172/MsDeploy.axd网站= WebSiteTest/MyWebAppName",用户名= MyUserName输入,密码= MyPassword输入,=进行AuthType基本"?
    MSDeploy -verb:同步-源:$来源-dest:$目的地-allowUntrusted
    这种方法是行不通的.我收到以下错误.
    错误代码:ERROR_USER_UNAUTHORIZED
    更多信息:使用Web管理服务连接到目标计算机("MyServerName"),但无法进行授权.确保您使用的是正确的用户名和密码,您所连接的站点是否存在,以及凭据是否代表具有访问该站点权限的用户.
    错误:远程服务器返回错误:(401)未经授权.

我一直在寻找什么是实际工作MSDeploy命令方法2层的用途和我一样的东西:
msdeploy.exe
-source:清单="...\MyWebApp.SourceManifest.xml"
-dest:汽车,计算机名=的"https: //MyServerName:8172/MsDeploy.axd?site=WebSiteTest',UserName='MyUsername',Password='MyPassword',IncludeAcls='False',AuthType='Basic"
-verb:同步
-disableLink:AppPoolExtension
-disableLink:ContentExtension
-disableLink:CertificateExtension
-skip:对象名= 'dirPath',absolutepath = '...\$的App_Data'
-setParam:一种= 'ProviderPath',范围= 'IisApp',匹配= '^ ...\PackageTmp $',值= WebSiteTest/WebAppTest
-setParam:一种= 'ProviderPath',范围= 'SETACL',匹配= '^ ..\PackageTmp $',值= WebSiteTest/WebAppTest
-allowUntrusted
-retryAttempts = 2
现在,这似乎并没有被任何接近我在方法4中使用的东西.我尝试自己运行它没有成功,但我认为我无法正确地重新创建所有这些参数.

所以我的问题是:
- 我在方法4中做错了什么?
- 如何使用MSDeploy.exe命令在IIS7中将Web应用程序部署为网站应用程序


在此先感谢您对
Iulian 的帮助

小智 7

我遇到了和你一样的问题.我只使用https:// computername:8172/msdeploy.axd?site = {websitenameonly}中的网站名称解决了这个问题 .然后使用-setParam IIS Web Application Name = {your web application name here}在参数中设置webapplication路径,或使用参数文件.一切都很好.

似乎只需要站点查询字符串值来授权请求​​.我没有找到任何可能解决此问题的任何其他查询字符串参数的MS的权威文档.但我实际测试了2个案例.1)在IIS 7.5中部署到网站,此参数是必需的.2)部署到网站下的Web应用程序,此参数实际上是可选的,但如果要包含它,则它必须是根网站.

你实际上在这里回答了你自己的问题,但可能没有意识到.