首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MSDeploy从IIS7到IIS6

问MSDeploy从IIS7到IIS6
EN

Stack Overflow用户
提问于 2014-12-21 07:30:40
回答 2查看 459关注 0票数 0

我试图使用以下命令执行MSDeploy:

代码语言:javascript
复制
"C:\Program Files (x86)\IIS\Microsoft Web Deploy V3\\msdeploy.exe" -source:package='package.zip' -dest:auto,computerName='servername',includeAcls='False' -verb:sync -disableLink:AppPoolExtension -disableLink:ContentExtension -disableLink:CertificateExtension -setParamFile:"package.SetParameters.xml" 

它将被部署到的服务器是一个运行IIS6的Win2003服务器。当我从一个WinXP哈德逊CI从服务器运行这个命令时,它工作得很好。但是,在新的Win7从服务器上运行此操作会导致以下错误:

代码语言:javascript
复制
Error: (12/21/2014 12:59:17 AM) An error occurred when the request was processed on the remote computer.
Error: The metabase key '/LM/W3SVC' could not be found.
Error: The type initializer for 'Microsoft.Web.Deployment.AxNative' threw an exception. ---> System.IO.IOException: The specified module could not be found. (Exception from HRESULT: 0x8007007E)
   --- End of inner exception stack trace --- 
   at Microsoft.Web.Deployment.AxNative.MetabaseGetBaseObject(String serverName, String userName, String password, IAppHostWritableAdminManager manager, Object& objectHandle)
   at Microsoft.Web.Deployment.MetaKeyCommitItem..ctor(DeploymentBaseContext baseContext, Boolean useInternalAbo, Boolean isReadOnly)
   at Microsoft.Web.Deployment.MetaKeyCommitItem.GetInstance(DeploymentBaseContext baseContext, Boolean useInternalAbo, Boolean isReadOnly)
   at Microsoft.Web.Deployment.MetaKeyProvider.get_CommitItem()
   at Microsoft.Web.Deployment.MetaKeyProvider.DoesNodeExist(Exception& e)
Error: The library 'C:\Program Files\IIS\Microsoft Web Deploy\x86\axnative.dll' could not be loaded.
Error: The specified module could not be found. (Exception from HRESULT: 0x8007007E)
Error count: 1.

有什么想法吗?如果需要更多的信息,请告诉我。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-04 22:37:08

问题是在运行win2003的目标IIS6服务器上安装了MS Deploy (HKLM\SOFTWARE\Microsoft\ installation \ web应该有一个用于WebDeploy2.0的"2“文件夹,而不是一个"1”文件夹)。

我刚刚修复(重新安装)MSDeploy2.0,它修复了这个问题。

票数 0
EN

Stack Overflow用户

发布于 2014-12-30 21:29:57

错误:“无法找到元数据库键'/LM/W3SVC‘”。听起来好像在Windows7 ( IIS7 )目的地上使用了错误的提供者,因为IIS7不再使用元数据库了。IIS7及以上版本使用配置模型。

下面是how to migrate a site from IIS6 to IIS7上的一个链接,它展示了从IIS6服务器使用包并将其导入到IIS7服务器的示例。

我在您的示例中看到的唯一不同之处是,它们在目标上指定了计量器提供程序,而您使用的是"auto“。Auto可能适用于IIS6到IIS6,但您可能需要指定metaKey提供程序(用于IIS6站点或IIS6到IIS7迁移)作为目标提供程序。

创建包示例

代码语言:javascript
复制
msdeploy -verb:sync  -source:metakey=lm/w3svc/<<YourSiteIDHere>> -dest:package=c:\Site1.zip > WebDeployPackage.log

部署到IIS7目标示例

代码语言:javascript
复制
msdeploy -verb:sync -source:package=c:\Site1.zip -dest:metakey=lm/w3svc/<<YourSiteIDHere>> > WebDeploySync.log

如果要对IIS7进行IIS7迁移,则需要使用AppHostConfig提供程序。但是metakKey提供者是微软为IIS6到IIS6或IIS6到IIS7指定的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27587525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档