【发布时间】:2012-03-14 15:43:53
【问题描述】:
我有一个 Web 应用程序,我正在尝试使用 MSDeploy.exe(Web 部署 2)将它部署到 Web 服务器上
我尝试了 4 种情况:
通过具有以下设置的 VS2010 Publish 方法:
发布方式:网络部署
服务网址:https://MyServerName:8172/MsDeploy.axd
站点/应用程序:MyWebSiteName
允许不受信任:选中
用户名:我的用户名
密码:我的密码
此方法效果很好。
在 MyServerName 机器上,我正在运行 Web 管理服务;我有一个网站 MyWebSiteName、一个应用程序 MyWebAppName 和 MyUserName 是它的 IIS 管理器。通过具有以下设置的 VS2010 Publish 方法:
发布方式:网络部署
服务网址:https://MyServerName:8172/MsDeploy.axd
站点/应用程序:MyWebSiteName/MyWebAppName
允许不受信任:选中
用户名:我的用户名
密码:我的密码
这个方法很好用。通过 MSDeploy.exe 命令行(在 Powershell 脚本中)
$Source = "contentPath='...._PublishedWebsites\MyWebApp'"
$Destination = "contentPath=MyWebSiteName,computerName='https://fc-wapps-trial:8172/MsDeploy.axd?Site=WebSiteTest',Username=MyUsername,Password=MyPassword,AuthType=basic"
MSDeploy -verb:sync -source:$Source -dest:$Destination -allowUntrusted
这个方法也很好用。通过 MSDeploy.exe 命令行(在 Powershell 脚本中)
$Source = "contentPath='...._PublishedWebsites\MyWebApp'"
$Destination = "iisApp=MyWebSiteName/MyWebAppName,computerName='https://fc-wapps-trial:8172/MsDeploy.axd?Site=WebSiteTest/MyWebAppName',Username=MyUsername,Password=MyPassword,AuthType=basic "
MSDeploy -verb:sync -source:$Source -dest:$Destination -allowUntrusted
此方法无效。我收到以下错误。
错误代码:ERROR_USER_UNAUTHORIZED
更多信息:使用 Web 管理服务连接到目标计算机(“MyServerName”),但无法授权。确保您使用正确的用户名和密码,您要连接的站点存在,并且凭据代表有权访问该站点的用户。
错误:远程服务器返回错误:(401) Unauthorized.
我正在查看方法 2 使用的实际 MSDeploy 命令是什么,我得到了类似的东西:
msdeploy.exe
-source:manifest='...\MyWebApp.SourceManifest.xml'
-dest:auto,ComputerName='https://MyServerName:8172/MsDeploy.axd?site=WebSiteTest',UserName='MyUsername',Password='MyPassword',IncludeAcls='False',AuthType='Basic '
-动词:同步
-disableLink:AppPoolExtension
-disableLink:ContentExtension
-disableLink:CertificateExtension
-skip:objectname='dirPath',absolutepath='...\App_Data$'
-setParam:kind='ProviderPath',scope='IisApp',match='^...\PackageTmp$',value=WebSiteTest/WebAppTest
-setParam:kind='ProviderPath',scope='setAcl',match='^..\PackageTmp$',value=WebSiteTest/WebAppTest
-allowUntrusted
-retryAttempts=2
现在这似乎与我在方法 4 中使用的没有什么相似之处。我尝试自己运行它但没有成功,但我认为我无法正确地重新创建所有这些参数。
所以我的问题是:
- 我在方法 4 中做错了什么?
- 如何使用 MSDeploy.exe 命令在 IIS7 中将 Web 应用程序部署为网站应用程序
提前感谢您的帮助
尤利安
【问题讨论】:
-
您是如何完成“...查看方法 2 使用的实际 MSDeploy 命令是什么”?
-
我想你可以找到答案here。好吧,他说 MS 在发布时默认使用 MSDeploy 对象模型,但您可以更改它。
标签: msdeploy