Skip to main content

Running web deploy from the command line: some useful commands

I talked about Web Deploy before. It allows you to easily deploy your web applications to IIS without much overhead. I use it most of the time. Last week I asked the server administrator to enable the automatic backup feature on the web server. 

Once I got the confirmation email that it was configured, I did a new deployment to test the backup feature.

After the deployment completed succesfully, I opened a command prompt and browsed to C:\Program Files (x86)\IIS\Microsoft Web Deploy V3.

Print the list of backups

I used the following command to dump the list of created backups:

msdeploy -verb:dump -source:backupManager="development.customer.be/appname",computerName="serverXX",userName="UserXYZ",password="PasswordXYZ"

But the output window returned nothing. No backups were created.

Print the backup settings

I switched to another command to dump the backupSettings from the server:

msdeploy -verb:dump -source:backupSettings="development.customer.be/appname",computerName="serverXX",userName="UserXYZ",password="PasswordXYZ"

This time I got some information back:

Info: Using ID '5263eab5-358c-4f3a-9d65-b60f2bade089' for connections to the remote server.

MSDeploy.backupSettings development.customer.be/appname

MSDeploy.backupSettings/backupSettings[@path=’development.customer.be/appname']/backupSetting[@turnedOn='False']

MSDeploy.backupSettings/backupSettings[@path='development.customer.be/appname]/backupSetting[@enabled='True']

MSDeploy.backupSettings/backupSettings[@path='development.customer.be/appname']/backupSetting[@numberOfBackups='4']

MSDeploy.backupSettings/backupSettings[@path='development.customer.be/appname']/backupSetting[@continueSyncOnBackupFailure='True']

MSDeploy.backupSettings/backupSettings[@path='development.customer.be/appname']/backupSetting[@excludedProviders='appPoolEnable32Bit; setAcl; appPoolPipeline; createApp; appHostAuthOverride; appPoolNetFx']

There are 2 important things I noticed in the config:

  • The Backup feature is enabled at the site level.
  • The Backup feature is turned off in IIS.

So that explains why we don’t see a backup. We still have to turn on the backup feature.

Turn on backups on the server

Log on to the webserver and execute the following Powershell command:

PS C:\Program Files\iis\Microsoft Web Deploy V3\scripts> TurnOn-Backups -On $true

11:43:53        Information     Turning Backup Feature On.  In order for backups to execute, they still need to be enabled at either the server or site level.

After doing this I did a new deploy. Let’s dump the list of packages again:

msdeploy -verb:dump -source:backupManager="development.customer.be/appname",computerName="serverXX",userName="UserXYZ",password="PasswordXYZ"

This time I got some data back:

Info: Using ID '7b36c65f-fcf1-48e7-a26b-16f8438473ae' for connections to the remote server.

MSDeploy.backupManager development.customer.be/appname

msdeploy_2013_03_15_11_17_34.zip

Popular posts from this blog

Podman– Command execution failed with exit code 125

After updating WSL on one of the developer machines, Podman failed to work. When we took a look through Podman Desktop, we noticed that Podman had stopped running and returned the following error message: Error: Command execution failed with exit code 125 Here are the steps we tried to fix the issue: We started by running podman info to get some extra details on what could be wrong: >podman info OS: windows/amd64 provider: wsl version: 5.3.1 Cannot connect to Podman. Please verify your connection to the Linux system using `podman system connection list`, or try `podman machine init` and `podman machine start` to manage a new Linux VM Error: unable to connect to Podman socket: failed to connect: dial tcp 127.0.0.1:2655: connectex: No connection could be made because the target machine actively refused it. That makes sense as the podman VM was not running. Let’s check the VM: >podman machine list NAME         ...

Azure DevOps/ GitHub emoji

I’m really bad at remembering emoji’s. So here is cheat sheet with all emoji’s that can be used in tools that support the github emoji markdown markup: All credits go to rcaviers who created this list.

VS Code Planning mode

After the introduction of Plan mode in Visual Studio , it now also found its way into VS Code. Planning mode, or as I like to call it 'Hannibal mode', extends GitHub Copilot's Agent Mode capabilities to handle larger, multi-step coding tasks with a structured approach. Instead of jumping straight into code generation, Planning mode creates a detailed execution plan. If you want more details, have a look at my previous post . Putting plan mode into action VS Code takes a different approach compared to Visual Studio when using plan mode. Instead of a configuration setting that you can activate but have limited control over, planning is available as a separate chat mode/agent: I like this approach better than how Visual Studio does it as you have explicit control when plan mode is activated. Instead of immediately diving into execution, the plan agent creates a plan and asks some follow up questions: You can further edit the plan by clicking on ‘Open in Editor’: ...