使用msdeploy中的DestinationVirtualDirectory设置物理路径位置

时间:2017-01-04 20:07:01

标签: msdeploy

这似乎应该非常直接,但它对我不起作用,而且我没有想法。

我想要做的就是在使用msdeploy部署软件包时设置物理路径,这样它就不会转到默认的inetpub \ wwwroot位置。

msdeploy -verb:sync -source:package="D:\PATH\TO\PACKAGE.zip" -dest:iisapp="Default Web Site/SiteName" -setParam:kind=DestinationVirtualDirectory,scope="Default Web Site/SiteName",value="C:\Program Files\Physical\Location"

我觉得我必须遗漏一些明显的东西。

2 个答案:

答案 0 :(得分:0)

我通过向MSDeploy包清单添加一个额外的命令(appcmd)来完成此操作,以在部署期间更改IIS站点的物理路径:

<runcommand path="%windir%\system32\inetsrv\appcmd set app /app.name:&quot;Default Web Site/app12&quot; /&#91;path='/'&#93;.physicalPath:C:\temp\app12" waitInterval="5000"/>

http://www.dotnetcatch.com/2016/06/28/webdeploymsdeploy-quick-tip-change-iis-siteapp-physical-path-with-msdeploy/

答案 1 :(得分:0)

以下内容更改了远程计算机上虚拟应用程序的物理目录

"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -verb:sync -source:apphostconfig="my-website-name\my-virtual-application-name",computername=my-computer-name,username=my-service-account-username,password=my-service-account-password -dest:package=template.zip -declareParam:name="destVirtualDir",kind=DestinationVirtualDirectory,scope="my-website-name",defaultValue="c:\my-default-folder-name"

"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -verb:sync -source:package=template.zip -dest:apphostconfig="my-website-name/my-virtual-application-name",computername=my-computer-name,username=my-service-account-username,password=my-service-account-password -setParam:name="destVirtualDir",value="c:\my-new-folder-name" 

为确保不会复制源和目标,您可以添加

-enableRule:Donotdeleterule -skip:objectName=filepath,absolutePath=.*

以上内容受到https://forums.iis.net/t/1169416.aspx的“启发”,其中还展示了如何进行其他网站和虚拟应用更改