Freigeben über


Ausführung von Anwendungsupdates durch ClickOnce

ClickOnce entscheidet anhand der Dateiversionsinformationen, die im Bereitstellungsmanifest einer Anwendung angegeben sind, ob die Dateien der Anwendung aktualisiert werden. Nach dem Start eines Updates verwendet ClickOnce eine als Patchen von Dateien bezeichnete Technik, um redundantes Herunterladen von Anwendungsdateien zu vermeiden.

Patchen von Dateien

Beim Aktualisieren einer Anwendung lädt ClickOnce nicht alle Dateien für die neue Version der Anwendung herunter, es sei denn, die Dateien wurden geändert. Stattdessen werden die Hashsignaturen der Dateien, die im Anwendungsmanifest für die aktuelle Anwendung angegeben sind, mit den Signaturen im Manifest für die neue Version verglichen. Wenn sich die Signaturen einer Datei unterscheiden, lädt ClickOnce die neue Version herunter. Stimmen die Signaturen überein, wurde die Datei zwischen den Versionen nicht geändert. In diesem Fall kopiert ClickOnce die vorhandene Datei und verwendet sie in der neuen Version der Anwendung. Dieser Ansatz verhindert, dass ClickOnce auch dann die gesamte Anwendung erneut herunterlädt, wenn sich nur eine oder zwei Dateien geändert haben.

Das Patchen von Dateien funktioniert auch für Assemblys, die bei Bedarf mit den Methoden DownloadFileGroup und DownloadFileGroupAsync heruntergeladen werden.

Hinweis

Die Klasse ApplicationDeployment und die APIs im Namespace System.Deployment.Application werden in .NET Core und .NET 5 und höheren Versionen nicht unterstützt. In .NET 7 wird eine neue Methode für den Zugriff auf Anwendungsbereitstellungseigenschaften unterstützt. Weitere Informationen finden Sie unter Zugreifen auf ClickOnce-Bereitstellungseigenschaften in .NET. .NET 7 unterstützt nicht das Äquivalent von ApplicationDeployment-Methoden.

Wenn Sie Visual Studio zum Kompilieren Ihrer Anwendung verwenden, werden bei jeder Neuerstellung des gesamten Projekts neue Hashsignaturen für alle Dateien generiert. In diesem Fall werden alle Assemblys auf den Client heruntergeladen, obwohl sich möglicherweise nur wenige Assemblys geändert haben.

Das Patchen von Dateien funktioniert nicht für Dateien, die als Daten markiert und im Datenverzeichnis gespeichert sind. Diese Dateien werden unabhängig von der Hashsignatur der Datei immer heruntergeladen. Weitere Informationen zum Datenverzeichnis finden Sie unter Zugreifen auf lokale und Remotedaten in einer ClickOnce-Anwendung.