ApplicationDeployment.DownloadFileGroupCompleted Ereignis
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Tritt im Hauptanwendungsthread auf, wenn ein Dateidownload abgeschlossen ist.
public:
event System::Deployment::Application::DownloadFileGroupCompletedEventHandler ^ DownloadFileGroupCompleted;
public event System.Deployment.Application.DownloadFileGroupCompletedEventHandler DownloadFileGroupCompleted;
member this.DownloadFileGroupCompleted : System.Deployment.Application.DownloadFileGroupCompletedEventHandler
Public Custom Event DownloadFileGroupCompleted As DownloadFileGroupCompletedEventHandler
Ereignistyp
Beispiele
Im folgenden Codebeispiel wird eine Gruppe von Hilfedateien im Hintergrund heruntergeladen. Das Beispiel erfordert, dass Sie eine Windows Forms Anwendung bereitstellen, die ein StatusStrip Steuerelement enthält, und dass dieses Steuerelement ein Steuerelement mit dem ToolStripStatusLabel Namen "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
Hinweise
Das DownloadFileGroupCompleted Ereignis wird im Hauptanwendungsthread aufgerufen. Es ist threadsicher, die Windows Forms Steuerelemente Ihrer Anwendung direkt innerhalb dieses Rückrufs aufzurufen.
Überprüfen Sie die Error Eigenschaft des AsyncCompletedEventArgs bereitgestellten Rückrufs. Wenn diese Eigenschaft nulllautet, war der Download erfolgreich; wenn es nicht nullder Fall ist, wurde die Installation nicht erfolgreich, und Sie können weitere Informationen über den Installationsfehler über die Error Eigenschaft finden.