使用MSDeploy为包设置应用程序池

时间:2010-10-26 12:46:26

标签: iis-7 msdeploy application-pool

我正在使用MSDeploy部署网站,所以使用类似下面的代码。

"%ProgramFiles%\IIS\Microsoft Web Deploy\msdeploy.exe" 
     -verb:sync
     -source:package=WebAppServer.zip 
     -dest:Auto 
     -setParamFile="was_params.xml" 
     -verbose 
          >  webappserversync.log

无论如何设置应用程序池?我想从命令行执行此操作,而不是将其设置在清单或类似的内容中。

无所谓,但这是在IIS7中。

2 个答案:

答案 0 :(得分:19)

生成包时,需要在parameters.xml文件中有一个条目来设置应用程序池。部署时,您可以在setParameters.xml文件中包含该值,或者从命令行使用-setParam。

这是我用来抓取网站的命令,它生成了正确的parameters.xml文件......

msdeploy.exe 
  -verb:sync -source:appHostConfig="Default Web Site" 
  -enableLink:AppPoolExtension 
  -dest:package=site.zip 
  -declareParam:name="Application Pool",
       defaultValue="Default Web Site",
       description="Application pool for this site",
       kind=DeploymentObjectAttribute,
       scope=appHostConfig,
       match="application/@applicationPool"

要从命令行安装此站点,请...

msdeploy.exe 
    -verb:sync 
    -dest:appHostConfig="MagicSite" 
    -enableLink:AppPoolExtension 
    -source:package=site.zip 
    -setParam:"Application Pool"="MagicPool"

在parameters.xml文件中挖掘以查看必要的条目。如果您愿意,可以在-setParam文件中存在params.xml条目。

答案 1 :(得分:1)

看一下这个答案:

Set application pool with MSDeploy and TFS 2010

基本上,您使用adsutil脚本创建一个批处理文件来设置应用程序池,然后调用MSDeploy在目标计算机上运行该批处理文件。