UpdateCheckInfo Klasse

Definition

Stellt ausführliche, durch einen Aufruf von CheckForDetailedUpdate() erhaltene Updateinformationen dar.

public ref class UpdateCheckInfo
public class UpdateCheckInfo
type UpdateCheckInfo = class
Public Class UpdateCheckInfo
Vererbung
UpdateCheckInfo

Beispiele

Im folgenden Codebeispiel wird UpdateAvailable ermittelt, ob ein neues Anwendungsupdate vorhanden ist und IsUpdateRequired ob der Benutzer das Update installieren soll.

public:
    void InstallUpdateSync()
    {
        if (ApplicationDeployment::IsNetworkDeployed)
        {
            bool isUpdateAvailable = false;
            ApplicationDeployment^ appDeployment =
                ApplicationDeployment::CurrentDeployment;

            try
            {
                isUpdateAvailable = appDeployment->CheckForUpdate();
            }
            catch (InvalidOperationException^ ex)
            {
                MessageBox::Show("The update check failed. Error: {0}",
                    ex->Message);
                return;
            }

            if (isUpdateAvailable)
            {
                try
                {
                    appDeployment->Update();
                    MessageBox::Show(
                        "The application has been upgraded, and will now " +
                        "restart.");
                    Application::Restart();
                }
                catch (Exception^ ex)
                {
                    MessageBox::Show("The update failed. Error: {0}",
                        ex->Message);
                    return;
                }

            }
        }
    }
private void InstallUpdateSyncWithInfo()
{
    UpdateCheckInfo info = null;

    if (ApplicationDeployment.IsNetworkDeployed)
    {
        ApplicationDeployment ad = ApplicationDeployment.CurrentDeployment;

        try
        {
            info = ad.CheckForDetailedUpdate();
        }
        catch (DeploymentDownloadException dde)
        {
            MessageBox.Show("The new version of the application cannot be downloaded at this time. \n\nPlease check your network connection, or try again later. Error: " + dde.Message);
            return;
        }
        catch (InvalidDeploymentException ide)
        {
            MessageBox.Show("Cannot check for a new version of the application. The ClickOnce deployment is corrupt. Please redeploy the application and try again. Error: " + ide.Message);
            return;
        }
        catch (InvalidOperationException ioe)
        {
            MessageBox.Show("This application cannot be updated. It is likely not a ClickOnce application. Error: " + ioe.Message);
            return;
        }

        if (info.UpdateAvailable)
        {
            Boolean doUpdate = true;

            if (!info.IsUpdateRequired)
            {
                DialogResult dr = MessageBox.Show("An update is available. Would you like to update the application now?", "Update Available", MessageBoxButtons.OKCancel);
                if (!(DialogResult.OK == dr))
                {
                    doUpdate = false;
                }
            }
            else
            {
                // Display a message that the app MUST reboot. Display the minimum required version.
                MessageBox.Show("This application has detected a mandatory update from your current " + 
                    "version to version " + info.MinimumRequiredVersion.ToString() + 
                    ". The application will now install the update and restart.", 
                    "Update Available", MessageBoxButtons.OK, 
                    MessageBoxIcon.Information);
            }

            if (doUpdate)
            {
                try
                {
                    ad.Update();
                    MessageBox.Show("The application has been upgraded, and will now restart.");
                    Application.Restart();
                }
                catch (DeploymentDownloadException dde)
                {
                    MessageBox.Show("Cannot install the latest version of the application. \n\nPlease check your network connection, or try again later. Error: " + dde);
                    return;
                }
            }
        }
    }
}
Private Sub InstallUpdateSyncWithInfo()
    Dim info As UpdateCheckInfo = Nothing

    If (ApplicationDeployment.IsNetworkDeployed) Then
        Dim AD As ApplicationDeployment = ApplicationDeployment.CurrentDeployment

        Try
            info = AD.CheckForDetailedUpdate()
        Catch dde As DeploymentDownloadException
            MessageBox.Show("The new version of the application cannot be downloaded at this time. " + ControlChars.Lf & ControlChars.Lf & "Please check your network connection, or try again later. Error: " + dde.Message)
            Return
        Catch ioe As InvalidOperationException
            MessageBox.Show("This application cannot be updated. It is likely not a ClickOnce application. Error: " & ioe.Message)
            Return
        End Try

        If (info.UpdateAvailable) Then
            Dim doUpdate As Boolean = True

            If (Not info.IsUpdateRequired) Then
                Dim dr As DialogResult = MessageBox.Show("An update is available. Would you like to update the application now?", "Update Available", MessageBoxButtons.OKCancel)
                If (Not System.Windows.Forms.DialogResult.OK = dr) Then
                    doUpdate = False
                End If
            Else
                ' Display a message that the app MUST reboot. Display the minimum required version.
                MessageBox.Show("This application has detected a mandatory update from your current " & _
                    "version to version " & info.MinimumRequiredVersion.ToString() & _
                    ". The application will now install the update and restart.", _
                    "Update Available", MessageBoxButtons.OK, _
                    MessageBoxIcon.Information)
            End If

            If (doUpdate) Then
                Try
                    AD.Update()
                    MessageBox.Show("The application has been upgraded, and will now restart.")
                    Application.Restart()
                Catch dde As DeploymentDownloadException
                    MessageBox.Show("Cannot install the latest version of the application. " & ControlChars.Lf & ControlChars.Lf & "Please check your network connection, or try again later.")
                    Return
                End Try
            End If
        End If
        End If
End Sub

Hinweise

Mit UpdateCheckInfo, können Sie entscheiden, ob Sie Ihre ClickOnce-Anwendung basierend auf Informationen über die neueste Version aktualisieren. UpdateAvailable gibt einen booleschen Wert zurück, der angibt, ob es überhaupt ein neues Update gibt. Die AvailableVersion Eigenschaft stellt die Versionsnummer der neuen Version bereit, während die früheste Version bereitgestellt wird, MinimumRequiredVersion die der Benutzer installiert haben sollte. IsUpdateRequired gibt an, ob das neueste verfügbare Update für den Benutzer erforderlich ist. UpdateSizeBytes Schließlich wird die Gesamtgröße des Updates ausgedrückt.

Hinweis

Visual Studio fügt dem Manifest nur dann das <deploymentProvider> Element hinzu, wenn die Anwendung auf Updates überprüft wird, daher müssen Sie entweder nach Updates suchen oder eine Update-URL im Dialogfeld "Anwendungsupdates" angeben.

Eigenschaften

AvailableVersion

Ruft die Versionsnummer der letzten deinstallierten Version ab.

IsUpdateRequired

Ruft einen Wert ab, der angibt, ob das Update installiert werden muss.

MinimumRequiredVersion

Ruft die minimale Version ab, die der Benutzer auf dem Computer installiert haben muss.

UpdateAvailable

Ruft ab, ob ein deinstalliertes Update verfügbar ist.

UpdateSizeBytes

Ruft die Größe des verfügbaren Updates ab.

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für: