msdeploy 覆盖现有文件

msdeploy overwrite existing file

我正在尝试使用 IIS Web 部署工具自动执行导入应用程序的过程。现在我们在 IIS 管理器中手动执行此操作。

我正在使用 Visual Studio 2015 年的发布操作创建的 zip 文件作为包的源。

手动执行此导入时,我可以选择覆盖现有文件,因为我正在部署到现有应用程序。我们总是选择仅附加文件而不删除现有文件和文件夹,因为我们需要一个名为 "CermData" 的文件夹,其中包含一个未包含在 zip 文件中的特定 .ini 文件。

在命令提示符中使用以下行:

msdeploy.exe -verb:sync -source:package=c:\Users\Administrator\Desktop\Web4Labels\CermWebServices.zip -dest:auto

导致包以我想要的方式导入,但我丢失了 "CermData" 文件夹。有什么方法可以确保现有文件不被覆盖?

还是我使用了错误的方法来做到这一点?我只想在可能的情况下使用 cmd 自动执行此操作。

对于 msdeploy,您需要添加 -enableRule:DoNotDeleteRule 规则以防止删除。

详情见https://technet.microsoft.com/en-us/library/dd568992(v=ws.10).aspx