Sie sind hier: Wissen
Begriff Click-Once-Deployment
Abkürzung COD
Eintrag zuletzt aktualisiert am 24.05.2022

 Zur Stichwortliste unseres Lexikons

Was ist Click-Once-Deployment ?

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.

Beratung & Support

Schulungen zu diesem Thema

 Versionsverwaltung mit Git (optional mit GitHub, GitLab, Gitea, Bitbucket, Azure DevOps oder AWS CodeCommit)
 ADO.NET Entity Framework (EF) Code-based Modelling (alias Code First/Code Only)
 Refactoring von .NET Legacy Code
 Apps für iOS (iPhone und iPad) entwickeln mit XCode und Objective-C
 .NET-Reflection: Codeanalyse und Codegenerierung (System.Reflection, System.CodeDom)
 Visual Studio Code (VSCode)
 Refactoring von Programmcode in C, C++, C#, Java, Kotlin, JavaScript, TypeScript, Python, Go oder Rust
 Versionskontrolle/Quellcodeverwaltung/Source Control mit Team Foundation Server Version Control (TFVC)
 Infrastructure as Code – Professionelles Azure-Management mit ARM-Templates
 Architekturreview und Programmcodereview
 Secure Coding mit C++
 Refactoring von Java-Programmcode
 Software Craftsmanship und Clean Code
 Continuous Code Quality mit SonarQube
 Clean Code Development
 Codequalität sicherstellen mit Code-Richtlinien / Entwickler-Richtlinien in Visual Studio
 .NET-Softwarearchitektur (Architektur von .NET-Anwendungen)
 DevOps / Continuous Integration (CI)/Continuous Delivery (CD) mit Pipelines in Azure DevOps Server / Azure DevOps Services (ADO) - Build- und Releasemanagement
 Deployment und Versionierung von .NET-Anwendungen
 Windows-Anwendungen mit Windows Forms - Basiswissen
 Visual Studio 2010 (Visual Studio 10.0) - Die Neuerungen seit Visual Studio 2008
 .NET 5.0 - Änderungen und Neuerungen gegenüber .NET Core 3.x
 Dart
 Visual Studio 2019 (Visual Studio 16.x) Update - Die Neuerungen gegenüber Visual Studio 2017
 Microsoft Power Platform - Development
 AJAX mit ASP.NET (Microsoft AJAX Framework / ASP.NET AJAX Extensions / "Atlas")
 Sicherheit für Webanwendungen/Websites (OWASP 10 u.a.)
 Windows Communication Foundation (WCF) - Basiswissen
 XML (Extensible Markup Language)
 Hardware-Troubleshooting
 Anfrage für eine individuelle Schulung zum Thema Click-Once-Deployment COD  Gesamter Schulungsthemenkatalog