Search code examples
c#msdeploy

Export(backup) website\app using msdeploy api c#


How to export (backup) an website/app using msdeploy api c#?

I know how to synchronize my website/app.

private void AppSynchronization(DeploymentBaseOptions depBaseOptions, string appPath)
{
    var deploymentObjectSyncApp = DeploymentManager.CreateObject(
        DeploymentWellKnownProvider.Package,
        appPath, new DeploymentBaseOptions());

    deploymentObjectSyncApp.SyncTo(DeploymentWellKnownProvider.Auto, string.Empty,
        depBaseOptions, new DeploymentSyncOptions());
}

Thanks.


Solution

  • var deployBaseOptions = new DeploymentBaseOptions
    {
        ComputerName = @"https://WIN-CCCCWWWWXXX:8172/msdeploy.axd",
        UserName = @"WIN-CCCCWWWWXXX\User",
        Password = "123456",
        AuthenticationType = "Basic"
    };
    
    // Allow sertification
    ServicePointManager.ServerCertificateValidationCallback = (s, c, chain, err) => true;
    
    var providerOptions = new DeploymentProviderOptions(DeploymentWellKnownProvider.IisApp)
    {
        Path = "MyWebSite"
    };
    
    var deploymentObject = DeploymentManager.CreateObject(providerOptions, deployBaseOptions);
    deploymentObject.SyncTo(DeploymentWellKnownProvider.Package, "C:\\backup_app.zip", 
                   deployBaseOptions, new DeploymentSyncOptions());