MSDeploy – sync command to copy files to subfolder of iis app

I want to perform a post-build step to copy some files into a website folder using MSDeploy.

Eventually I’ll be doing this to a remote location (specifying computerName, userName switches etc.), but for now I’m running it locally:

  • How can I publish a subversion repository to a local IIS?
  • Local Git Server Setup (using bonobo)
  • Running a Git Server on Windows Server 2012 R2/IIS
  • automated deployment from bitbucket to iis on windows server
  • How to use powershell to install and configure IIS, SSL certificate, urlrewrite, git and clone repository
  • VS 2012 launching app based on wrong path
  • "C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" 
       -AllowUntrusted -verb:sync 
       -dest:iisApp="My Website Name"

    This works, but it removes all contents of the website folder and replaces them with the contents of “D:\files_to_copy” (as you might expect!). So I was wondering how I use this simply copy to a subfolder within the site?

    I’ve tried -dest:iisApp="My Website Name/my_subfolder" but this just creates a new IIS app called “my_subfolder” nested within the existing IIS app.

    Any suggestions much appreciated.

  • Jenkins JUnit Attachments Plugin throws 404 for attached files
  • How to configure Selenium HTML Reports in Jenkins
  • cannot run jenkins, even after clearing it's directory
  • Jenkins-Sonar communication on Openshift
  • Selenium scripts no working in Selenium Server and Selenium Html Runner
  • How to use post steps with Jenkins pipeline on multiple agents?
  • 2 Solutions collect form web for “MSDeploy – sync command to copy files to subfolder of iis app”

    There are providers other than iisApp, maybe dirPath is the one you want for -dest aswell?:

    • dirPath: The dirPath provider synchronizes directory content.
    • filePath: The filePath provider synchronizes individual files.
    • iisApp: The iisApp provider synchronizes directory content to a folder and marks the folder as an application.
    • contentPath: The contentPath provider synchronizes Web site content.

    Anders’s answer above provides the correct information, but the full code I used to successfully carry this out is as follows:

    "C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" 
      -AllowUntrusted -verb:sync 
      -dest:contentPath="My Website Name\my_new_folder"

    Adding a single file to the root of the site (for example robots.txt) can be done using the following:

    "C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" 
      -AllowUntrusted -verb:sync 
      -dest:contentPath="My Website Name\robots.txt"

    Hopefully this is a useful example for others in the future.

    Git Baby is a git and github fan, let's start git clone.