DeploymentProgressChangedEventArgs.Group Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets the name of the file group being downloaded.
public:
property System::String ^ Group { System::String ^ get(); };
public string Group { get; }
member this.Group : string
Public ReadOnly Property Group As String
Property Value
A String containing the name of the file group, if the event occurred as the result of a call to DownloadFileGroupAsync; otherwise, a zero-length string.
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
.
void LaunchAppUpdate()
{
if (ApplicationDeployment::IsNetworkDeployed)
{
ApplicationDeployment^ ad =
ApplicationDeployment::CurrentDeployment;
ad->UpdateCompleted +=
gcnew AsyncCompletedEventHandler(this,
&Form1::LaunchAppUpdate_UpdateCompleted);
ad->UpdateAsync();
}
}
void LaunchAppUpdate_UpdateCompleted(Object^ sender,
AsyncCompletedEventArgs^ e)
{
if (!e->Cancelled)
{
if (nullptr != e->Error)
{
System::Windows::Forms::DialogResult dr =
MessageBox::Show(
"The application has been updated. Restart?",
"Restart Application",
MessageBoxButtons::OKCancel);
if (System::Windows::Forms::DialogResult::OK == dr)
{
Application::Restart();
}
}
else
{
// Replace with your own error reporting or logging.
MessageBox::Show(
"The application encountered an error in " +
"downloading the latest update. Error: {0}",
e->Error->Message);
}
}
else
{
// Replace with your own error reporting or logging.
MessageBox::Show(
"The update of the application's latest version was " +
"cancelled.");
}
}
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);
}
Dim WithEvents ADDownloadHelpFiles As ApplicationDeployment
Private Sub DownloadHelpFiles(ByVal GroupName As String)
If (ApplicationDeployment.IsNetworkDeployed) Then
ADDownloadHelpFiles = ApplicationDeployment.CurrentDeployment
If ADDownloadHelpFiles.IsFirstRun Then
Try
If Not ADDownloadHelpFiles.IsFileGroupDownloaded(GroupName) Then
ADDownloadHelpFiles.DownloadFileGroupAsync(GroupName)
End If
Catch ioe As InvalidOperationException
MessageBox.Show("This application is not a ClickOnce application.")
Return
End Try
End If
End If
End Sub
Private Sub ADDownloadHelpFiles_DownloadFileGroupProgressChanged(ByVal sender As Object, ByVal e As DeploymentProgressChangedEventArgs) Handles ADDownloadHelpFiles.DownloadFileGroupProgressChanged
DownloadStatus.Text = String.Format("Downloading file group {0}; {1:D}K of {2:D}K completed.", e.Group, e.BytesCompleted / 1024, e.BytesTotal / 1024)
End Sub
Private Sub ADDownloadHelpFiles_DownloadFileGroupCompleted(ByVal sender As Object, ByVal e As DownloadFileGroupCompletedEventArgs) Handles ADDownloadHelpFiles.DownloadFileGroupCompleted
DownloadStatus.Text = String.Format("Download of file group {0} complete.", e.Group)
End Sub
Remarks
You can initiate multiple calls to DownloadFileGroupAsync and download multiple file groups simultaneously. Use Group to determine which event callbacks correspond to which group.