Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
ClickOnce-Anwendungen basieren auf .NET Framework und unterliegen Codezugriffssicherheitseinschränkungen. Aus diesem Grund ist es wichtig, dass Sie die Auswirkungen der Codezugriffssicherheit verstehen und Ihre ClickOnce-Anwendungen entsprechend schreiben.
Codezugriffssicherheit ist ein Mechanismus in .NET Framework, der den Zugriff, den Code auf geschützte Ressourcen und Vorgänge hat, einschränken kann. Sie sollten die Codezugriffssicherheitsberechtigungen für Ihre ClickOnce-Anwendung so konfigurieren, dass die Zone verwendet wird, die für den Speicherort des Anwendungsinstallationsprogramms geeignet ist. In den meisten Fällen können Sie die Internetzone für einen begrenzten Satz von Berechtigungen oder die Zone "Lokales Intranet " für einen größeren Satz von Berechtigungen auswählen.
Hinweis
In ClickOnce für .NET Core und .NET 5 oder höher wird die Codezugriffssicherheit nicht unterstützt. In .NET Framework ist die Verwendung von Code Access Security keine bewährte Methode und wird nicht empfohlen.
Standardmäßige ClickOnce-Codezugriffssicherheit
Standardmäßig erhält eine ClickOnce-Anwendung voll vertrauenswürdige Berechtigungen, wenn sie auf einem Clientcomputer installiert oder ausgeführt wird.
Eine Anwendung mit voll vertrauenswürdigen Berechtigungen hat uneingeschränkten Zugriff auf Ressourcen wie das Dateisystem und die Registrierung. Dadurch kann Ihre Anwendung (und das System des Endbenutzers) von bösartigem Code ausgenutzt werden.
Wenn eine Anwendung Voll vertrauenswürdige Berechtigungen benötigt, wird der Endbenutzer möglicherweise aufgefordert, der Anwendung Berechtigungen zu erteilen. Dies bedeutet, dass die Anwendung keine ClickOnce-Erfahrung bietet, und die Aufforderung kann für weniger erfahrene Benutzer möglicherweise verwirrend sein.
Hinweis
Beim Installieren einer Anwendung von Wechselmedien wie einer CD-ROM wird der Benutzer nicht aufgefordert. Darüber hinaus kann ein Netzwerkadministrator eine Netzwerkrichtlinie konfigurieren, sodass Benutzer nicht aufgefordert werden, wenn sie eine Anwendung aus einer vertrauenswürdigen Quelle installieren. Weitere Informationen finden Sie unter Übersicht über die Bereitstellung vertrauenswürdiger Anwendungen.
Um die Berechtigungen für eine ClickOnce-Anwendung einzuschränken, können Sie die Codezugriffssicherheitsberechtigungen für Ihre Anwendung ändern, um die Zone anzufordern, die am besten zu den berechtigungen passt, die Ihre Anwendung benötigt. In den meisten Fällen können Sie die Zone auswählen, aus der die Anwendung bereitgestellt wird. Wenn Ihre Anwendung beispielsweise eine Unternehmensanwendung ist, können Sie die Zone "Lokales Intranet " verwenden. Wenn Ihre Anwendung eine Internetanwendung ist, können Sie die Internetzone verwenden.
Konfigurieren von Sicherheitsberechtigungen
Sie sollten Ihre ClickOnce-Anwendung immer so konfigurieren, dass die entsprechende Zone zum Einschränken der Codezugriffssicherheitsberechtigungen angefordert wird. Sie können Sicherheitsberechtigungen auf der Seite "Sicherheit " des Project-Designers konfigurieren.
Die Seite "Sicherheit " im Project Designer enthält ein Kontrollkästchen "ClickOnce-Sicherheitseinstellungen aktivieren" . Wenn dieses Kontrollkästchen aktiviert ist, werden Sicherheitsberechtigungsanforderungen dem Bereitstellungsmanifest für Ihre Anwendung hinzugefügt. Zur Installation wird der Benutzer aufgefordert, Berechtigungen zu erteilen, wenn die angeforderten Berechtigungen die Standardberechtigungen für die Zone überschreiten, aus der die Anwendung bereitgestellt wird. Weitere Informationen finden Sie unter How to: Enable ClickOnce security settings.
Anwendungen, die von unterschiedlichen Speicherorten bereitgestellt werden, erhalten unterschiedliche Berechtigungsebenen, ohne dass Sie dazu aufgefordert werden. Wenn beispielsweise eine Anwendung aus dem Internet bereitgestellt wird, erhält sie einen stark restriktiven Satz von Berechtigungen. Wenn Sie über ein lokales Intranet installiert wird, erhält sie zusätzliche Berechtigungen, und wenn sie von einer CD-ROM installiert wird, erhält sie Vollvertrauen.
Als Ausgangspunkt für die Konfiguration von Berechtigungen können Sie eine Sicherheitszone aus der Zone-Liste auf der Seite "Sicherheit " auswählen. Wenn Ihre Anwendung potenziell aus mehreren Zonen bereitgestellt wird, wählen Sie die Zone mit den geringsten Berechtigungen aus. Weitere Informationen finden Sie unter How to: Set a security zone for a ClickOnce application.
Die Eigenschaften, die festgelegt werden können, variieren je nach Berechtigungssatz; nicht alle Berechtigungssätze verfügen über konfigurierbare Eigenschaften. Weitere Informationen zur vollständigen Liste der Berechtigungen, die Ihre Anwendung anfordern kann, finden Sie unter System.Security.Permissions. Weitere Informationen zum Festlegen von Berechtigungen für eine benutzerdefinierte Zone finden Sie unter How to: Set custom permissions for a ClickOnce application.
Debuggen einer Anwendung mit eingeschränkten Berechtigungen
Als Entwickler führen Sie wahrscheinlich Ihren Entwicklungscomputer mit Vollzugriffsberechtigungen aus. Daher sehen Sie beim Debuggen der Anwendung nicht dieselben Sicherheitsausnahmen, die Benutzern bei der Ausführung mit eingeschränkten Berechtigungen angezeigt werden.
Um diese Ausnahmen abzufangen, müssen Sie die Anwendung mit denselben Berechtigungen wie der Endbenutzer debuggen. Das Debuggen mit eingeschränkten Berechtigungen kann auf der Seite "Sicherheit " des Project-Designers aktiviert werden.
Wenn Sie eine Anwendung mit eingeschränkten Berechtigungen debuggen, werden Ausnahmen für alle Codesicherheitsanforderungen ausgelöst, die auf der Seite "Sicherheit" nicht aktiviert wurden. Es wird ein Ausnahmehilfsprogramm angezeigt, das Vorschläge zum Ändern des Codes bereitstellt, um die Ausnahme zu verhindern.
Wenn Sie Code schreiben, deaktiviert das IntelliSense-Feature im Code-Editor außerdem alle Elemente, die nicht in den von Ihnen konfigurierten Sicherheitsberechtigungen enthalten sind.
Weitere Informationen finden Sie unter Wie man eine ClickOnce-Anwendung mit eingeschränkten Berechtigungen debuggt.
Sicherheitsberechtigungen für vom Browser gehostete Anwendungen
Visual Studio stellt die folgenden Projekttypen für Windows Presentation Foundation (WPF)-Anwendungen bereit:
WPF Windows-Anwendung
WPF-Webbrowseranwendung
WPF-Benutzerdefinierte Steuerelementbibliothek
WPF-Dienstbibliothek
Von diesen Projekttypen werden nur WPF-Webbrowseranwendungen in einem Webbrowser gehostet und erfordern daher spezielle Bereitstellungs- und Sicherheitseinstellungen. Die Standardsicherheitseinstellungen für diese Anwendungen sind wie folgt:
Aktivieren von ClickOnce-Sicherheitseinstellungen
Dies ist eine teilweise vertrauenswürdige Anwendung
Internetzone (mit voreingestelltem Berechtigungssatz für WPF-Webbrowser-Anwendungen ausgewählt)
Im Dialogfeld "Erweiterte Sicherheitseinstellungen " ist das Kontrollkästchen " Diese Anwendung mit aktiviertem Berechtigungssatz debuggen " aktiviert und deaktiviert. Dies liegt daran, dass "Debuggen in Zone" für browsergehostete Anwendungen nicht deaktiviert werden kann.
Verwandte Inhalte
- Secure ClickOnce-Anwendungen
- Aktivieren und Konfigurieren von ClickOnce-Sicherheitseinstellungen
- Festlegen einer Sicherheitszone für eine ClickOnce-Anwendung
- Festlegen benutzerdefinierter Berechtigungen für eine ClickOnce-Anwendung
- Debuggen einer ClickOnce-Anwendung mit eingeschränkten Berechtigungen
- Übersicht über die Bereitstellung vertrauenswürdiger Anwendungen
- Seite „Sicherheit“, Projekt-Designer