我有一个Web应用程序,正在尝试使用MSDeploy.exe(Web Deploy 2)将其部署到Web服务器上。
我尝试了4种方案:
1.通过VS2010发布方法,使用以下设置: 发布方法:Web Deploy 服务URL:https://MyServerName:8172/MsDeploy.axd 站点/应用程序:MyWebSiteName 允许不受信任的操作:已选中 用户名:MyUsername 密码:MyPassword 此方法可以正常工作。 在MyServerName机器上,我运行了Web Management Service;我有一个名为MyWebSiteName的网站,一个名为MyWebAppName的应用程序,MyUserName是它的IIS Manager。
2.通过VS2010发布方法,使用以下设置: 发布方法:Web Deploy 服务URL:https://MyServerName:8172/MsDeploy.axd 站点/应用程序:MyWebSiteName/MyWebAppName 允许不受信任的操作:已选中 用户名:MyUsername 密码:MyPassword 此方法可以正常工作。
3.通过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 此方法也可以正常工作。
4.通过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 Management Service连接到目标计算机(“MyServerName”),但无法授权。确保您使用正确的用户名和密码,正在连接的站点存在,并且凭据代表具有访问该站点权限的用户。 错误:远程服务器返回错误:(401)未经授权。
我正在查看第二种方法使用的实际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'
-verb:sync
-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种方法中我做错了什么?
- 如何使用MSDeploy.exe命令将Web应用程序部署为IIS7中的网站应用程序?
感谢您的帮助。
Iulian
我尝试了4种方案:
1.通过VS2010发布方法,使用以下设置: 发布方法:Web Deploy 服务URL:https://MyServerName:8172/MsDeploy.axd 站点/应用程序:MyWebSiteName 允许不受信任的操作:已选中 用户名:MyUsername 密码:MyPassword 此方法可以正常工作。 在MyServerName机器上,我运行了Web Management Service;我有一个名为MyWebSiteName的网站,一个名为MyWebAppName的应用程序,MyUserName是它的IIS Manager。
2.通过VS2010发布方法,使用以下设置: 发布方法:Web Deploy 服务URL:https://MyServerName:8172/MsDeploy.axd 站点/应用程序:MyWebSiteName/MyWebAppName 允许不受信任的操作:已选中 用户名:MyUsername 密码:MyPassword 此方法可以正常工作。
3.通过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 此方法也可以正常工作。
4.通过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 Management Service连接到目标计算机(“MyServerName”),但无法授权。确保您使用正确的用户名和密码,正在连接的站点存在,并且凭据代表具有访问该站点权限的用户。 错误:远程服务器返回错误:(401)未经授权。
我正在查看第二种方法使用的实际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'
-verb:sync
-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种方法中我做错了什么?
- 如何使用MSDeploy.exe命令将Web应用程序部署为IIS7中的网站应用程序?
感谢您的帮助。
Iulian