ClickOnce-Sicherheit und -Bereitstellung

Gilt für:yesnoVisual Studio Visual Studio für Mac noVisual Studio Code

ClickOnce ist eine Bereitstellungstechnologie, mit der Windows-Anwendungen erstellt werden können, die eigenständig aktualisiert und mit minimaler Benutzerinteraktion installiert und ausgeführt werden. Visual Studio bietet vollständige Unterstützung für die Veröffentlichung und Aktualisierung von Anwendungen, die mit ClickOnce Technologie bereitgestellt werden, wenn Sie Ihre Projekte mit Visual Basic und Visual C# entwickelt haben. Informationen zum Bereitstellen von Visual C++-Anwendungen finden Sie unter ClickOnce Bereitstellung für Visual C++-Anwendungen.

ClickOnce Bereitstellung übergibt drei wichtige Probleme bei der Bereitstellung:

  • Schwierigkeiten beim Aktualisieren von Anwendungen. Wenn microsoft Windows Installer-Bereitstellung aktualisiert wird, kann der Benutzer ein Update, eine MSP-Datei installieren und auf das installierte Produkt anwenden; mit ClickOnce Bereitstellung können Sie Updates automatisch bereitstellen. Nur diese Teile der Anwendung, die geändert wurden, werden heruntergeladen, und dann wird die vollständige, aktualisierte Anwendung aus einem neuen querseitigen Ordner neu installiert.

  • Auswirkungen auf den Computer des Benutzers. Bei Windows Installationsprogramm basieren Anwendungen häufig auf freigegebene Komponenten, mit dem Potenzial für Versionskonflikte; mit ClickOnce Bereitstellung ist jede Anwendung selbst enthalten und kann nicht mit anderen Anwendungen beeinträchtigt werden.

  • Sicherheitsberechtigungen. Windows Installationsprogrammbereitstellung erfordert administrative Berechtigungen und ermöglicht nur eingeschränkte Benutzerinstallation; ClickOnce Bereitstellung ermöglicht es nicht administrativen Benutzern, nur diese Codezugriffssicherheitsberechtigungen für die Anwendung zu installieren und zu gewähren.

    In der Vergangenheit haben diese Probleme manchmal dazu geführt, dass Entwickler entscheiden, Webanwendungen anstelle von Windows basierten Anwendungen zu erstellen, die eine umfassende Benutzeroberfläche für eine einfache Installation opfern. Mithilfe von Anwendungen, die mithilfe von ClickOnce bereitgestellt werden, können Sie beide Technologien optimal nutzen.

Was ist eine ClickOnce-Anwendung?

Eine ClickOnce Anwendung ist jede Windows Presentation Foundation (xbap), Windows Forms (.exe), Konsolenanwendung (.exe) oder Office Lösung (.dll) veröffentlicht, die mithilfe ClickOnce Technologie veröffentlicht wird. Sie können eine ClickOnce Anwendung auf drei verschiedene Arten veröffentlichen: aus einer Webseite, aus einer Netzwerkdateifreigabe oder aus älteren Medien wie einem CD-ROM. Eine ClickOnce-Anwendung kann auf dem Computer eines Endbenutzers installiert und lokal ausgeführt werden, auch wenn der Computer offline ist, oder es kann im onlinegeschützten Modus ausgeführt werden, ohne etwas auf dem Computer des Endbenutzers dauerhaft zu installieren. Weitere Informationen finden Sie unter Auswählen einer ClickOnce Bereitstellungsstrategie.

ClickOnce Anwendungen können selbst aktualisiert werden; sie können nach neueren Versionen suchen, da sie verfügbar sind und alle aktualisierten Dateien automatisch ersetzen. Der Entwickler kann das Aktualisierungsverhalten festlegen. Der Netzwerkadministrator kann ebenfalls Aktualisierungsstrategien steuern und eine Aktualisierung z.B. als obligatorisch kennzeichnen. Updates können auch von einem Endbenutzer oder einem Administrator auf eine frühere Version zurückgesetzt werden. Weitere Informationen finden Sie unter Auswählen einer ClickOnce Updatestrategie.

Da ClickOnce Anwendungen isoliert sind, kann die Installation oder Ausführung einer ClickOnce Anwendung vorhandene Anwendungen nicht unterbrechen. ClickOnce Anwendungen sind selbst enthalten; jede ClickOnce Anwendung wird auf einem sicheren Benutzercache installiert und ausgeführt. ClickOnce Anwendungen werden in den Internet- oder Intranetsicherheitszonen ausgeführt. Falls notwendig, kann die Anwendung erhöhte Sicherheitsberechtigungen anfordern. Weitere Informationen finden Sie unter Secure ClickOnce Applications.

Wie ClickOnce Sicherheit funktioniert

Die Kernsicherheit ClickOnce basiert auf Zertifikaten, Codezugriffssicherheitsrichtlinien und der ClickOnce Vertrauensstellungsaufforderung.

Zertifikate

Authenticode-Zertifikate werden verwendet, um die Authentizität des Herausgebers der Anwendung zu überprüfen. Durch Die Verwendung von Authenticode für die Anwendungsbereitstellung kann ClickOnce verhindern, dass ein schädliches Programm sich als legitimes Programm darstellt, das aus einer etablierten, vertrauenswürdigen Quelle stammt. Optional können Zertifikate auch verwendet werden, um die Anwendungs- und Bereitstellungsmanifeste zu signieren, um zu beweisen, dass die Dateien nicht manipuliert wurden. Weitere Informationen finden Sie unter ClickOnce und Authenticode. Zertifikate können auch zum Konfigurieren von Clientcomputern verwendet werden, um eine Liste vertrauenswürdiger Herausgeber zu erhalten. Wenn eine Anwendung aus einem vertrauenswürdigen Herausgeber stammt, kann es ohne Benutzerinteraktion installiert werden. Weitere Informationen finden Sie unter Übersicht über die Bereitstellung vertrauenswürdiger Anwendungen.

Codezugriffssicherheit

Die Codezugriffssicherheit hilft, den Zugriff auf geschützte Ressourcen zu beschränken. In den meisten Fällen können Sie die Internet- oder Lokalen Intranetzonen auswählen, um die Berechtigungen zu beschränken. Verwenden Sie die Seite "Sicherheit " im ProjectDesigner , um die für die Anwendung geeignete Zone anzufordern. Sie können auch Anwendungen mit eingeschränkten Berechtigungen debuggen, um die Benutzeroberfläche des Endbenutzers zu emulieren. Weitere Informationen finden Sie unter Code Access Security for ClickOnce Applications (Codezugriffssicherheit für ClickOnce-Anwendungen).

ClickOnce-Vertrauensaufforderung

Wenn die Anwendung mehr Berechtigungen anfordert als die Zone zulässt, kann der Endbenutzer aufgefordert werden, eine Vertrauensentscheidung vorzunehmen. Der Endbenutzer kann entscheiden, ob ClickOnce Anwendungen wie Windows Forms Anwendungen, Windows Presentation Foundation Anwendungen, Konsolenanwendungen, XAML-Browseranwendungen und Office Lösungen ausgeführt werden. Weitere Informationen finden Sie unter How to: Configure the ClickOnce trust prompt behavior.

Wie funktioniert die ClickOnce-Bereitstellung?

Die kern ClickOnce Bereitstellungsarchitektur basiert auf zwei XML-Manifestdateien: einem Anwendungsmanifest und einem Bereitstellungsmanifest. Die Dateien werden verwendet, um zu beschreiben, wo die ClickOnce Anwendungen installiert sind, wie sie aktualisiert werden und wann sie aktualisiert werden.

Veröffentlichen von ClickOnce-Anwendungen

Das Anwendungsmanifest beschreibt die Anwendung selbst. Dazu gehören die Assemblys, die Abhängigkeiten und Dateien, die die Anwendung, die erforderlichen Berechtigungen und den Speicherort, an dem Updates verfügbar sind. Der Anwendungsentwickler erstellt das Anwendungsmanifest mithilfe des Veröffentlichungs-Assistenten in Visual Studio (Veröffentlichen tool für .NET Core und .NET 5+) oder das Manifest Generation and Editing Tool (Mage.exe) im Windows Software Development Kit (SDK). Weitere Informationen finden Sie unter

In dem Bereitstellungsmanifest wird die Bereitstellung der Anwendung beschrieben. Dies umfasst den Speicherort des Anwendungsmanifests und die Version der Anwendung, die Clients ausführen sollten.

Bereitstellen von ClickOnce Anwendungen

Nachdem sie erstellt wurde, wird das Bereitstellungsmanifest an den Bereitstellungsort kopiert. Dies kann ein Webserver, eine Netzwerkdateifreigabe oder ältere Medien sein, z. B. eine CD. Das Anwendungsmanifest und alle Anwendungsdateien werden auch an einen Bereitstellungsspeicherort kopiert, der im Bereitstellungsmanifest angegeben ist. Dabei kann es sich um denselben Bereitstellungsspeicherort oder einen anderen Speicherort handeln. Wenn Sie den Veröffentlichungs-Assistenten in Visual Studio verwenden, werden die Kopiervorgänge automatisch ausgeführt.

Installieren von ClickOnce Anwendungen

Nachdem sie an den Bereitstellungsspeicherort bereitgestellt wurde, können Endbenutzer die Anwendung herunterladen und installieren, indem Sie auf ein Symbol klicken, das die Bereitstellungsmanifestdatei auf einer Webseite oder in einem Ordner darstellt. In den meisten Fällen wird der Endbenutzer mit einem einfachen Dialogfeld angezeigt, das den Benutzer auffordert, die Installation zu bestätigen, nachdem die Installation fortgesetzt wird und die Anwendung ohne zusätzlichen Eingriff gestartet wird. In Fällen, in denen die Anwendung erhöhte Berechtigungen erfordert oder wenn die Anwendung nicht von einem vertrauenswürdigen Zertifikat signiert ist, fordert das Dialogfeld auch den Benutzer auf, berechtigungen zu erteilen, bevor die Installation fortgesetzt werden kann. Obwohl ClickOnce Installationen pro Benutzer vorhanden sind, kann die Berechtigungserweiterung erforderlich sein, wenn voraussetzungen vorhanden sind, die Administratorberechtigungen erfordern. Weitere Informationen zu erhöhten Berechtigungen finden Sie unter Sichern von ClickOnce Anwendungen.

Zertifikate können auf Computer- oder Unternehmensebene vertrauenswürdig sein, sodass ClickOnce Anwendungen, die mit einem vertrauenswürdigen Zertifikat signiert sind, automatisch installiert werden können. Weitere Informationen zu vertrauenswürdigen Zertifikaten finden Sie unter Übersicht über die Bereitstellung vertrauenswürdiger Anwendungen.

Die Anwendung kann dem Startmenü des Benutzers und der Gruppe "Programme hinzufügen oder entfernen" im Systemsteuerung hinzugefügt werden. Im Gegensatz zu anderen Bereitstellungstechnologien wird dem Ordner "Programmdateien " oder der Registrierung nichts hinzugefügt, und für die Installation sind keine Administrativen Rechte erforderlich.

Hinweis

Es ist auch möglich, zu verhindern, dass die Anwendung zur Gruppe "Start " hinzugefügt wird und die Gruppe "Programme hinzufügen" oder "Programme entfernen" , wodurch sie sich wie eine Webanwendung verhält. Weitere Informationen finden Sie unter Auswählen einer ClickOnce Bereitstellungsstrategie.

Aktualisieren von ClickOnce Anwendungen

Wenn die Anwendungsentwickler eine aktualisierte Version der Anwendung erstellen, generieren sie ein neues Anwendungsmanifest und kopieren Dateien an einen Bereitstellungsspeicherort – normalerweise einen untergeordneten Ordner in den ursprünglichen Anwendungsbereitstellungsordner. Der Administrator aktualisiert das Bereitstellungsmanifest, um auf den Speicherort der neuen Version der Anwendung zu verweisen.

Hinweis

Der Veröffentlichungs-Assistent in Visual Studio kann verwendet werden, um diese Schritte auszuführen. Für .NET Core und .NET 5+ stellt das Publish-Tool diese Schritte bereit.

Zusätzlich zum Bereitstellungsort enthält das Bereitstellungsmanifest auch einen Updatespeicherort (eine Webseite oder Netzwerkdateifreigabe), an der die Anwendung nach aktualisierten Versionen sucht. ClickOnce Veröffentlichen von Eigenschaften werden verwendet, um anzugeben, wann und wie oft die Anwendung nach Updates suchen sollte. Das Updateverhalten kann im Bereitstellungsmanifest angegeben werden, oder es kann als Benutzerauswahl auf der Benutzeroberfläche der Anwendung anhand der ClickOnce-APIs angezeigt werden. Außerdem können die Eigenschaften zum Veröffentlichen verwendet werden, um Updates als obligatorisch zu kennzeichnen oder die Anwendung auf eine frühere Version zurückzusetzen. Weitere Informationen finden Sie unter Auswählen einer ClickOnce Updatestrategie.

Installationsprogramme von Drittanbietern

Sie können Ihr ClickOnce Installationsprogramm anpassen, um Drittanbieterkomponenten zusammen mit Ihrer Anwendung zu installieren. Sie müssen über das verteilbare Paket (.exe oder .msi Datei) verfügen und das Paket mit einem sprachneutralen Produktmanifest und einem sprachspezifischen Paketmanifest beschreiben. Weitere Informationen finden Sie unter Erstellen von Bootstrapperpaketen.

ClickOnce Tools

In der folgenden Tabelle sind die Tools aufgeführt, die Sie zum Generieren, Bearbeiten, Signieren und Erneuten Signieren der Anwendungs- und Bereitstellungsmanifesten verwenden können. Für .NET Core und .NET 5+ werden Optionen wie MSBuild Attribute mithilfe des Veröffentlichenprofils festgelegt.

Tool BESCHREIBUNG
Seite "Sicherheit", Projekt-Designer Signiert die Anwendungs- und Bereitstellungsmanifeste. Für .NET Core und .NET 5+ befinden sich diese Einstellungen im Profil "Veröffentlichen".
Seite "Veröffentlichen", Projekt-Designer Generiert und bearbeitet die Anwendungs- und Bereitstellungsmanifeste für Visual Basic- und Visual C#-Anwendungen. Für .NET Core und .NET 5+ befinden sich diese Einstellungen im Profil "Veröffentlichen".
Mage.exe (Manifest Generation and Editing Tool) Generiert die Anwendungs- und Bereitstellungsmanifeste für Visual Basic,Visual C#- und Visual C++-Anwendungen.

Signiert und signiert die Anwendungs- und Bereitstellungsmanifeste erneut.

Kann aus Batchskripts und der Eingabeaufforderung ausgeführt werden.
MageUI.exe (Manifest Generation and Editing Tool, grafischer Client) Generiert und bearbeitet die Anwendungs- und Bereitstellungsmanifeste.

Signiert und signiert die Anwendungs- und Bereitstellungsmanifeste erneut.
GenerateApplicationManifest-Aufgabe Generiert das Anwendungsmanifest.

Kann von MSBuild ausgeführt werden. Weitere Informationen finden Sie unter MSBuild-Referenz.
GenerateDeploymentManifest-Aufgabe Generiert das Bereitstellungsmanifest.

Kann von MSBuild ausgeführt werden. Weitere Informationen finden Sie unter MSBuild-Referenz.
SignFile-Aufgabe Signiert die Anwendungs- und Bereitstellungsmanifeste.

Kann von MSBuild ausgeführt werden. Weitere Informationen finden Sie unter MSBuild-Referenz.
Microsoft.Build.Tasks.Deployment.ManifestUtilities Entwickeln Sie Ihre eigene Anwendung, um die Anwendungs- und Bereitstellungsmanifeste zu generieren.

Die folgende Tabelle zeigt die .NET Framework Version, die erforderlich ist, um ClickOnce Anwendungen in diesen Browsern zu unterstützen.

Browser .NET Framework-Version
Internet Explorer 2.0, 3.0, 3.5, 3.5 SP1, 4
Firefox 2.0 SP1, 3.5 SP1, 4
Chrome 3,5
Microsoft Edge 3,5

Siehe auch