1

在将 contentPath 提供程序与包含清单的 MSDeploy 包一起使用时,我试图覆盖安装目录。

我确定我过去曾这样做过,但无法让它发挥作用。

我错过了什么?

用于创建包的清单:

<siteManifest>
  <contentPath path="C:\packages" />
  <runCommand path="do something here" />
</siteManifest>

安装包的命令:

这直接来自此处的文档。

msdeploy -verb:sync 
         -source:package=deploy.zip 
         -dest:auto 
         -replace:objectName=contentPath,
                  targetAttributeName=path,
                  replace=C:\otherPath

更新

发现这适用于文件,但对于目录仍然没有乐趣。

msdeploy -verb:sync 
         -source:package=deploy.zip 
         -dest:auto 
         -replace:objectName=filePath,
                  targetAttributeName=path,
                  match=somefile\.txt
                  replace=newfile.txt
4

1 回答 1

0

一种解决方案是将清单指定为目标,添加 contentPath 提供程序并将路径设置为覆盖位置。令人惊讶的是,当源包还包含带有 contentPath 提供程序的清单时,这很有效。

目的地.xml

<siteManifest>
   <contentPath path="C:\OverrideLocation" />
</siteManifest>

命令:

msdeploy -verb:sync 
     -source:package=deploy.zip 
     -dest:destination.xml
于 2013-05-16T22:22:34.520 回答