Click-Once-Deployment (COD)

Eintrag zuletzt aktualisiert am: 24.05.2022

Click-Once-Deployment ist ein seit langem etabliertes Verfahren zur Verbreitung von .NET-Anwendungen, das es seit der Version 2.0 des klassisches .NET Framework gibt. Es erlaubt die einfache Verteilung und automatische Aktualisierung von Windows-Anwendungen über Netzwerklaufwerke und Webserver. Die Installation einer Click-Once-basierten Anwendung ist für jeden Windows-Benutzer ohne Administratorrechte möglich und erfolgt im lokalen Benutzerverzeichnis. Für viele Anwendungsarten wird die Verteilung ("Deployment") dadurch stark vereinfacht.

Click-Once-Deployment ist eine mit .NET 2.0 eingeführte Weiterentwicklung des No-Touch-Deployment (NTD).

Click-Once-Deployment gab es zunächst nicht für .NET Core. Click-Once-Deployment ist Oktober 2020 nun nicht nur für .NET 5.0, sondern auch .NET Core 3.0 und 3.1 verfügbar. Ein Click-Once-Deployment-Paket kann über Visual Studio (ab Version 16.8 Preview 5) über Deploy/Folder/Click-Once oder das Kommandozeilenwerkzeug mage.dot für die .NET SDK CLI [https://www.nuget.org/packages/Microsoft.DotNet.Mage] erstellen.

Details zu Click-Once-Deployment

Mit Visual Studio erstellt der Entwickler ein Click-Once-Paket, das er auf einem Netzlaufwerk oder einen Webserver ablegt. Der Benutzer erhält den Link zu der Manifest-Datei. Eine Click-Once-Anwendung wird beim ersten Aufruf dieses Manifestes für den aktuellen Benutzer installiert und bei Bedarf automatisch aktualisiert.

Der Endbenutzer startet die Anwendung durch einen Mausklick auf einen Link in Windows oder auf einer Webseite. Sofern die Anwendung in seinem lokalen Application Cache (/Dokumente und Einstellungen/(User)/Lokale Einstellungen/My Applications) noch nicht in der aktuellsten Fassung existiert, lädt das .NET Framework die Anwendung herunter und installiert sie.

Ein Vorteil gegenüber NTD ist die Möglichkeit, Einträge im Start-Menü und in der Softwarelis-te in der Systemsteuerung vorzunehmen. Click-Once-Anwendungen funktionieren auch, wenn die Quelle nach dem ersten Herunterladen nicht mehr verfügbar ist. Das .NET Framework und andere Voraussetzungen (MDAC 9, MSDE, J#, etc.) werden bei Bedarf mitinstalliert. Visual Studio bietet eine Unterstützung für das Publizieren von Click-Once-Anwendungen direkt aus der DIE heraus und erstellt automatisch eine HTML-Seite für den Download.

Möglich wird die automatische Aktualisierung durch eine doppelte Indirektion (Manifest-based Activation): Der Link zeigt nicht auf die EXE, sondern auf ein Deployment Manifest (XML-Datei), das wiederum auf das Application Manifest der aktuellsten Version zeigt. Das Applicati-on Manifest enthält schließlich die Informationen über den Start einer Anwendung und die Abhängigkeit von anderen Anwendungen. Wichtig für die automatische Aktualisierung ist, dass die Anwendung nicht nur erneut publiziert wird, sondern auch tatsächlich eine neue Versionsnummer erhält. Signifikant sind hierbei die ersten drei Sektionen der Versionsnummer.

Seit .Net 3.5 SP1 ist auch die Verteilung von VSTO-Anwendungen mit Click-Once möglich.

Mit einem Trick kann man auch Silverlight-Anwendungen mit Click-Once-Verteilen.

Vergleich zu Java

Click-Once-Deployment entspricht konzeptionell Java Web Start.