I have a complex deployment/undeploy scenario - which I can't seem to achieve using msdeploy.
Step 3 is where I'm stuck (in the following scaled-down example):
- I deploy a "standard" package, built with VS2012, which creates the app and content just fine.
- Let's say the app now contains three files (F1-F3), all deployed through the package (version 1).
- I allow for custom content to be added to the site, and a file (C1) is added manually to the server
- Server now contains four files: F1, F2, F3 and C1.
- I wish to update my server with a new version of the package (version 2), containing updated versions of F1 and F2. In this scenario, it means F3 should be removed, and C1 should be left as-is.
- Server should as a result contain 3 files: F1, F2 and C1.
I'm using the deployment API in a custom deployment tool, and the tool knows both versions of the package. I have the possibility to diff the two packages, or verb:delete using version 1 before I verb:sync version 2; if that would somehow help. Any help to accomplish this with the API or using command-line would be greatly appreciated.
The only way I can think of to delete F3, still leaving C1, would be to delete the contents of version 1 of the package, before I do a sync with version 2 (i.e. delete F1-F3, and then sync F1-F2). But I can't figure out how to delete files present in the package (source), from the server (dest:auto), without it also deleting C1. It also deletes the app, sitemanifest etc, which should be left as-is (i.e. I want to delete content only).