ApplicationDeployment.IsFileGroupDownloaded Method (String)

 
System_CAPS_noteNote

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Checks whether the named file group has already been downloaded to the client computer.

Namespace:   System.Deployment.Application
Assembly:  System.Deployment (in System.Deployment.dll)

[PermissionSetAttribute(SecurityAction.Assert, Name = "FullTrust")]
public bool IsFileGroupDownloaded(
	string groupName
)

Parameters

groupName
Type: System.String

The named group of files to download. All files marked "optional" in a ClickOnce application require a group name.

Return Value

Type: System.Boolean

true if the file group has already been downloaded for the current version of this application; otherwise, false. If a new version of the application has been installed, and the new version has not added, removed, or altered files in the file group, IsFileGroupDownloaded returns true.

Exception Condition
InvalidDeploymentException

groupName is not a file group defined in the application manifest.

IsFileGroupDownloaded works in a partially trusted application without any security demands.

When you update an application, ClickOnce copies any on-demand data files from the previous version into the new version's data directory. If you download a new version of these files, you should remove any data you want to keep from the old version and move it into the new version.

The following code example downloads all of the files in the HelpFiles group to disk.

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);
}

.NET Framework
Available since 2.0
Return to top
Show: