DeploymentProgressChangedEventArgs Class

Definition

Represents progress data reported in an asynchronous operation.

C#
public class DeploymentProgressChangedEventArgs : System.ComponentModel.ProgressChangedEventArgs
Inheritance
DeploymentProgressChangedEventArgs

Examples

The following code example downloads a file group named HelpFiles, and displays download progress in a status bar. This example requires that you deploy a Windows Forms application, and that your main form has a StatusStrip control, and a ToolStripStatusLabel control named downloadStatus.

C#
private void DownloadFileGroupAsync(string fileGroup)
{
    if (ApplicationDeployment.IsNetworkDeployed)
    {
        ApplicationDeployment deployment = ApplicationDeployment.CurrentDeployment;

        try
        {
            if (!deployment.IsFileGroupDownloaded(fileGroup))
            {
                deployment.DownloadFileGroupProgressChanged += new DeploymentProgressChangedEventHandler(deployment_DownloadFileGroupProgressChanged);
                deployment.DownloadFileGroupCompleted += new DownloadFileGroupCompletedEventHandler(deployment_DownloadFileGroupCompleted);

                deployment.DownloadFileGroupAsync(fileGroup);
            }
        }
        catch (InvalidOperationException ioe)
        {
            MessageBox.Show("This application is not a ClickOnce application. Error: " + ioe.Message);
            return;
        }
    }
}

void deployment_DownloadFileGroupProgressChanged(object sender, DeploymentProgressChangedEventArgs e)
{
    downloadStatus.Text = String.Format("Downloading file group {0}; {1:D}K of {2:D}K completed.", e.Group, e.BytesCompleted / 1024, e.BytesTotal / 1024);               
}

void deployment_DownloadFileGroupCompleted(object sender, DownloadFileGroupCompletedEventArgs e)
{
    if (e.Error != null)
    {
        downloadStatus.Text = "Could not download files. Will try again later.";
        return;
    }
    else if (e.Cancelled)
    {
        downloadStatus.Text = "The file download has been cancelled.";
        return;
    }

    downloadStatus.Text = String.Format("Download of file group {0} complete.", e.Group);
}

Remarks

This class contains properties that describe progress for the CheckForUpdateProgressChanged, DownloadFileGroupProgressChanged, and UpdateProgressChanged events. Not every property in this class applies to each event.

BytesCompleted and BytesTotal represent the total number of bytes downloaded to date and the total number of bytes in the download operation, respectively; they apply to all three events. Group names the file group corresponding to the current DownloadFileGroupProgressChanged event, and State reflects the current stage of the download operation.

Properties

BytesCompleted

Gets the number of bytes already downloaded by this operation.

BytesTotal

Gets the total number of bytes in the download operation.

Group

Gets the name of the file group being downloaded.

State

Gets the action that the process is currently executing.

Applies to

Product Versions
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

See also