0

我目前正在将我的网站从带有 IIS 6 的 Windows Server 2003 ( SourceServer ) 迁移到带有 IIS 7.5 的 Windows Server 2008 R2 ( DestServer )。

我使用MSDeploy工具来执行操作。检查依赖项后(仅Windows Authentication,已安装在DestServer中),我在 SourceServer 中创建

msdeploy -verb:sync -source:metakey=lm/w3svc/5 -dest:package=c:\Site5.zip > WebDeployPackage.log

我将它复制到DestServer中。从DestServer我使用以下方法测试部署:

msdeploy -verb:sync -source:package=c:\Site5.zip -dest:metakey=lm/w3svc/5 -whatif > WebDeploySync.log

但它给了我一个与缺少应用程序池相关的错误。事实上,我的目标之一是让网站更上一层楼,因为在SourceServer中,负责部署的人对命名约定(包括池和站点)搞得一团糟,一次分配了太多的应用程序(甚至 10 个)应用程序池等。

因此,我的目标是在DestServer的专用全新应用程序池中运行该站点。但是,如果 MSDeploy 在 DestServer 中找不到与SourceServer 同名的应用程序池,则它不会在DestServer上部署

我还尝试-enableLink: AppPoolExtension在创建和部署包时使用 MSDeploy 中的命令来获取应用程序池。该软件包然后正确安装,但我不知道为什么,它在配置文件中给出错误。例如,我无法启用任何类型的身份验证模块。

有什么方法可以让 MSDeploy 在部署时忽略应用程序池?

4

1 回答 1

0
msdeploy -verb:sync 
         -source:metakey=lm/w3svc/1,computerName=original,encryptPassword="pwd",includeAcls=true 
         -disableLink:ContentExtension 
         -dest:package=original.zip,encryptPassword="pwd" 
         -enableLink:AppPool 
         -skip:WebApplication="^.*$"  >original.log
于 2013-08-29T13:26:16.517 回答