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.
Stellen Sie beim Verteilen Ihrer WebView2-App sicher, dass die WebView2-Runtime auf dem Clientcomputer vorhanden ist. Diese Anforderung gilt sowohl für den Evergreen-Modus als auch für den Distributionsmodus "Feste Version".
Einführende Informationen finden Sie unter Evergreen im Vergleich zu einer festen Version der WebView2-Runtime.
Warten der WebView2-Runtime über Windows Server Update Services (WSUS)
Weitere Informationen finden Sie unter Windows Server Update Services (WSUS) unter Unternehmensverwaltung von WebView2-Runtimes.
Laufzeit- oder Browserunterstützung während der Entwicklung oder Produktion
Während der Entwicklung und beim Testen kann eine WebView2-App beide Optionen als unterstützende Webplattform verwenden:
Die WebView2-Runtime. Die Runtime bietet im Allgemeinen die gleichen Webplattformfunktionen und den gleichen Updaterhythmus wie der Stable-Kanal des Microsoft Edge-Browsers. Verwenden Sie die WebView2-Runtime in einer Produktionsumgebung oder zum Entwickeln und Testen auf der Webplattform, über die Ihre Benutzer heute verfügen.
Ein Vorschaukanal (Insider) des Microsoft Edge-Browsers. Diese Microsoft Edge-Vorschaukanäle sind Beta, Dev und Canary. Verwenden Sie diesen Ansatz, um Ihre App auf Vorwärtskompatibilität zu testen, damit Sie wissen, ob ein Breaking Change bevorsteht, der eine Aktualisierung Ihrer App erfordert. Weitere Informationen finden Sie unter Testen anstehender APIs und Features.
Ein Produktionsrelease einer WebView2-App kann nur die WebView2-Runtime als unterstützende Webplattform verwenden, nicht Microsoft Edge.
Microsoft Edge Stable-Kanal wird für WebView2 nicht unterstützt
WebView2-Apps dürfen den Stable-Kanal von Microsoft Edge nicht als unterstützende Webplattform verwenden. Diese Einschränkung verhindert, dass eine Produktionsversion einer WebView2-App eine Abhängigkeit vom Browser übernimmt. Eine WebView2-App kann aus folgenden Gründen keine Abhängigkeit vom Browser während der Produktion annehmen:
Microsoft Edge ist nicht garantiert auf allen Benutzergeräten vorhanden. Viele Geräte in Unternehmen und im Bildungsbereich sind von Windows Update getrennt oder werden nicht direkt von Microsoft verwaltet. Auf solchen Geräten ist Microsoft Edge möglicherweise nicht installiert. Wenn die Produktionsversion von WebView2-Apps die WebView2-Runtime anstelle von Microsoft Edge verwendet, wird Microsoft Edge nicht zu einer Voraussetzung für die Ausführung einer WebView2-App.
Browser und Apps haben unterschiedliche Anwendungsfälle. Wenn eine WebView2-App das Vorhandensein von Microsoft Edge auf dem Client erfordert, hätte dies potenziell unbeabsichtigte Nebenwirkungen auf die WebView2-App. Beispielsweise kann ein IT-Administrator verhindern, dass der Browser von einer bestimmten Version aktualisiert wird, um die Kompatibilität des Browsers mit einer internen Website zu gewährleisten. Wenn die Produktionsversion einer WebView2-App anstelle des Browsers die WebView2-Runtime verwendet, bleibt die WebView2-App immergrün, auch wenn Browserupdates vom Administrator der Clients verhindert werden.
Im Gegensatz zum Browser wird die WebView2-Runtime für App-Szenarien entwickelt und getestet, und in einigen Fällen kann die WebView2-Runtime Fehlerbehebungen enthalten, die noch nicht im Browser verfügbar sind.
Die Evergreen WebView2 Runtime wird als Teil des Windows 11 Betriebssystems enthalten sein. Verschiedene WebView2-Apps haben die Evergreen Runtime vor dem Windows 11 auf Geräten mit einem Betriebssystem installiert. Auf einigen Geräten ist die Runtime jedoch möglicherweise nicht vorinstalliert. Daher empfiehlt es sich, zu überprüfen, ob die Runtime auf dem Client vorhanden ist.
Bevor Ihre App eine WebView2 erstellt, sollte die App überprüfen, ob die WebView2-Runtime vorhanden ist (entweder durch Überprüfen eines Registrierungsschlüssels oder durch Aufrufen einer API) und die Runtime installieren, falls sie fehlt. Die App kann diese Überprüfung beim Installieren oder Aktualisieren Ihrer App (empfohlen) oder zur App-Laufzeit durchführen. Informationen zum Überprüfen, ob die Runtime vorhanden ist, finden Sie weiter unten unter Bereitstellen der Evergreen WebView2-Runtime.
Der Evergreen Runtime-Verteilungsmodus
Der Evergreen-Verteilungsmodus stellt sicher, dass Ihre WebView2-App die neuesten WebView2-Features und Sicherheitsupdates nutzt. Einführende Informationen finden Sie unter Der Evergreen Runtime-Verteilungsmodus in Evergreen im Vergleich zu einer festen Version der WebView2-Runtime.
Der Evergreen-Verteilungsmodus weist die folgenden Merkmale auf:
Die WebView2-Runtime wird automatisch aktualisiert, ohne dass Eine Aktion von Ihnen erforderlich ist. Es erhält die gleichen Microsoft Edge-Updates, die in Versionshinweisen für Microsoft Edge Stable Channel und Versionshinweise für Microsoft Edge Security Updates beschrieben sind.
Alle WebView2-Apps, die den Evergreen-Verteilungsmodus verwenden, verwenden eine freigegebene Kopie der Evergreen WebView2 Runtime, wodurch Speicherplatz gespart wird.
Auf berechtigten Systemen sind Binärdateien für Microsoft Edge und evergreen WebView2 Runtime fest miteinander verknüpft, wenn sie sich in derselben Version befinden. Diese Verknüpfung bietet Vorteile für den Speicherplatzbedarf, den Arbeitsspeicher und die Leistung des Datenträgers.
Wenn Sie den Evergreen-Verteilungsmodus der WebView2-Runtime verwenden, geht Ihre WebView2-App davon aus, dass Clients über die neueste Runtime verfügen. Ihre App kann keine bestimmte Version der WebView2-Runtime für alle Apps auf dem Client erfordern. Zum Zeitpunkt der Veröffentlichung eines neuen WebView2 SDK-Pakets wurde bereits eine kompatible Version der WebView2-Runtime an Clients verteilt. Daher ist es in Ordnung, dass Ihre WebView2-App die APIs verwendet, die in der neuesten Version des WebView2 SDK enthalten sind.
Windows 11- und Windows 10-Geräte (Details)
Einführungsinformationen finden Sie unter Windows 11-Geräte und Windows 10-Geräte in Evergreen im Vergleich zu einer festen Version der WebView2-Runtime.
Auf den meisten Windows 10-Geräten ist die WebView2-Runtime bereits installiert, wie unter Bereitstellen von Microsoft Edge WebView2 Runtime für verwaltete Windows 10-Geräte beschrieben. Auf einer kleinen Anzahl von Windows 10 Geräten ist die WebView2-Runtime nicht installiert. Es wird empfohlen, diesen Edgefall mit einem der folgenden Ansätze zu behandeln:
Stellen Sie die Evergreen Runtime programmgesteuert mit Ihrer App bereit. Siehe Bereitstellen der Evergreen WebView2 Runtime weiter unten.
Umleiten Ihrer Endbenutzer zur Microsoft-Website: Laden Sie Microsoft Edge WebView2 herunter, und bitten Sie Endbenutzer, das Evergreen WebView2 Runtime-Installationsprogramm von der Website herunterzuladen und die Runtime selbst zu installieren.
Siehe auch:
- Vorabversion und Release-SDKs für WebView2 : Verwenden Sie eine Vorabversion des SDK zusammen mit einem Vorschaukanal von Microsoft Edge. oder verwenden Sie eine Releaseversion des SDK zusammen mit der Evergreen WebView2 Runtime.
Bereitstellen der Evergreen WebView2 Runtime
Für alle Evergreen-Apps auf dem Gerät ist nur eine Installation der Evergreen WebView2-Runtime erforderlich. Mehrere Tools finden Sie unter Herunterladen der WebView2-Runtime , die Sie bei der Bereitstellung der Evergreen Runtime unterstützen.
Für Onlineclients: WebView2 Runtime Bootstrapper ist ein kleines Installationsprogramm (ca. 2 MB). Der WebView2 Runtime Bootstrapper lädt die Evergreen Runtime von Microsoft-Servern herunter und installiert sie, die der Gerätearchitektur des Benutzers entspricht.
Verknüpfen Sie im Setupteil Ihrer WebView2-App mit dem Bootstrapper. Verwenden Sie einen Link, um den Bootstrapper programmgesteuert herunterzuladen. Wählen Sie auf der obigen Downloadseite die Schaltfläche Link abrufen aus.
Oder laden Sie den Bootstrapper herunter, und packen Sie ihn mit Ihrer WebView2-App.
Für Offlineclients: Der eigenständige WebView2-Runtime-Installer ist ein vollständiges Installationsprogramm, das evergreen WebView2 Runtime in Offlineumgebungen installiert.
Wenn Sie den App-Installer zum Bereitstellen von MSIX-Anwendungen verwenden, können Sie die WebView2-Runtime als Abhängigkeit angeben, damit sie mit der Anwendung installiert wird. Ausführliche Informationen hierzu finden Sie unter win32dependencies:ExternalDependency (Windows 10, Windows 11) in der Dokumentation zum App-Paketmanifest. Weitere Informationen finden Sie unter Installieren von Windows 10-Apps mit dem App-Installer.
Installieren der Runtime pro Computer oder pro Benutzer
Der neueste Bootstrapper und das eigenständige Installationsprogramm unterstützen Installationen der WebView2-Runtime sowohl pro Computer als auch pro Benutzer .
Wenn Sie das Installationsprogramm über einen Prozess oder eine Eingabeaufforderung mit erhöhten Rechten ausführen, wird die Runtime pro Computer installiert. Wenn Sie das Installationsprogramm nicht über einen Prozess oder eine Eingabeaufforderung mit erhöhten Rechten ausführen, wird die Runtime pro Benutzer installiert. Eine Installation pro Benutzer wird jedoch automatisch durch eine Installation pro Computer ersetzt, wenn ein Microsoft Edge Updater pro Computer vorhanden ist. Ein Microsoft Edge Updater pro Computer ist als Teil von Microsoft Edge enthalten, mit Ausnahme des Canary-Vorschaukanals von Microsoft Edge.
Verwenden Sie den folgenden Onlinebereitstellungsworkflow oder Offlinebereitstellungsworkflow, um sicherzustellen, dass die Runtime bereits installiert ist, bevor Ihre App gestartet wird. Sie können Ihren Workflow je nach Szenario anpassen. Beispielcode ist im Beispielrepository verfügbar.
Erkennen, ob eine WebView2-Runtime bereits installiert ist
Verwenden Sie einen der folgenden Ansätze, um zu überprüfen, ob eine WebView2-Runtime installiert ist:
Ansatz 1: Überprüfen Sie den
pv (REG_SZ)Registrierungsschlüssel für die WebView2-Runtime an beiden der folgenden Registrierungsspeicherorte. DerHKEY_LOCAL_MACHINERegistrierungsschlüssel wird für die Installation pro Computer verwendet. DerHKEY_CURRENT_USERRegistrierungsschlüssel wird für die Installation pro Benutzer verwendet.Für WebView2-Anwendungen muss mindestens einer dieser Registrierungsschlüssel vorhanden und mit einer Version größer als 0.0.0.0 definiert sein. Wenn kein regkey vorhanden ist oder nur einer dieser Registrierungsschlüssel vorhanden ist
null, der Wert jedoch , eine leere Zeichenfolge oder 0.0.0.0.0 ist, bedeutet dies, dass die WebView2-Runtime nicht auf dem Client installiert ist. Überprüfen Sie diese Registrierungsschlüssel, um zu ermitteln, ob die WebView2-Runtime installiert ist, und um die Version der WebView2-Runtime abzurufen. Suchen Siepv (REG_SZ)an den folgenden beiden Speicherorten.Die beiden Registrierungsspeicherorte, die unter 64-Bit-Windows überprüft werden sollen:
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5} HKEY_CURRENT_USER\Software\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}Die beiden Registrierungsspeicherorte, die unter 32-Bit-Windows überprüft werden sollen:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5} HKEY_CURRENT_USER\Software\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}Ansatz 2: Führen Sie GetAvailableCoreWebView2BrowserVersionString aus, und bewerten Sie, ob ist
versionInfonullptr.nullptrgibt an, dass die WebView2-Runtime nicht installiert ist. Diese API gibt Versionsinformationen für die WebView2-Runtime oder für alle installierten Vorschaukanäle von Microsoft Edge (Beta, Dev oder Canary) zurück.
Reine Onlinebereitstellung
Verwenden Sie den folgenden Workflow, wenn Sie ein Szenario haben, in dem nur online bereitgestellt wird, bei dem angenommen wird, dass Benutzer über Internetzugriff verfügen.
Führen Sie während des App-Setups einen Test aus, um sicherzustellen, dass die WebView2-Runtime bereits installiert ist. Weitere Informationen finden Sie weiter oben unter Erkennen, ob eine WebView2-Runtime bereits installiert ist.
Wenn die Runtime nicht installiert ist, verwenden Sie in Ihrem App-Setupprozess den Link (über die Schaltfläche Link abrufen auf der Downloadseite), um den WebView2 Runtime Bootstrapper programmgesteuert herunterzuladen.
Rufen Sie den WebView2 Runtime Bootstrapper auf, indem Sie den folgenden Befehl ausgeben.
Wenn Sie den folgenden Befehl über einen Prozess oder eine Eingabeaufforderung mit erhöhten Rechten ausführen, wird eine Installation pro Computer ausgelöst. Wenn Sie den Befehl nicht über einen Prozess oder eine Eingabeaufforderung mit erhöhten Rechten ausführen, erfolgt eine Installation pro Benutzer . Eine Installation pro Benutzer wird jedoch automatisch durch eine Installation pro Computer ersetzt, wenn ein Microsoft Edge Updater pro Computer vorhanden ist. Ein computerspezifischer Microsoft Edge Updater wird als Teil von Microsoft Edge bereitgestellt, mit Ausnahme des Canary-Vorschaukanals von Microsoft Edge. Weitere Informationen finden Sie unter Installieren der Runtime pro Computer oder pro Benutzer.
MicrosoftEdgeWebview2Setup.exe /silent /install
Der obige Workflow hat mehrere Vorteile:
Die Runtime wird nur bei Bedarf installiert.
Sie müssen kein Runtime-Installationsprogramm mit Ihrer WebView2-App packen.
Der WebView2 Runtime Bootstrapper erkennt automatisch die Architektur (Plattform) des Geräts und installiert dann die entsprechende WebView2-Runtime.
Die Runtime wird automatisch installiert.
Alternativ können Sie den Evergreen Bootstrapper für die WebView2-Runtime mit Ihrer App packen, anstatt den Bootstrapper bei Bedarf programmgesteuert herunterzuladen, indem Sie einen Link abrufen, wie oben gezeigt.
Offlinebereitstellung
Wenn Sie ein Offlinebereitstellungsszenario haben, bei dem die App-Bereitstellung vollständig offline funktionieren muss, verwenden Sie den folgenden Workflow.
Laden Sie den eigenständigen Evergreen-Installer unter Herunterladen der WebView2-Runtime auf Ihren Entwicklungscomputer herunter. Der eigenständige Evergreen-Installer installiert die Evergreen WebView2 Runtime auf dem Client.
Schließen Sie den eigenständigen Evergreen-Installer in Ihr App-Installationsprogramm oder -Updater ein.
Führen Sie während des App-Setups einen Test aus, um sicherzustellen, dass die WebView2-Runtime bereits installiert ist. Weitere Informationen finden Sie weiter oben unter Erkennen, ob eine WebView2-Runtime bereits installiert ist.
Wenn die WebView2-Runtime nicht installiert ist, führen Sie den eigenständigen Evergreen-Installer aus. Wenn Sie eine automatische Installation ausführen möchten, können Sie den folgenden Befehl ausführen.
Wenn Sie den folgenden Befehl über einen Prozess oder eine Eingabeaufforderung mit erhöhten Rechten ausführen, wird eine Installation pro Computer ausgelöst. Wenn Sie den Befehl nicht über einen Prozess oder eine Eingabeaufforderung mit erhöhten Rechten ausführen, erfolgt eine Installation pro Benutzer . Eine Installation pro Benutzer wird jedoch automatisch durch eine Installation pro Computer ersetzt, wenn ein Microsoft Edge Updater pro Computer vorhanden ist. Ein computerspezifischer Microsoft Edge Updater wird als Teil von Microsoft Edge bereitgestellt, mit Ausnahme des Canary-Vorschaukanals von Microsoft Edge. Weitere Informationen finden Sie unter Installieren der Runtime pro Computer oder pro Benutzer.
MicrosoftEdgeWebView2RuntimeInstaller{X64/X86/ARM64}.exe /silent /install
Behandeln von Evergreen WebView2 Runtime-Updates
Neue Versionen der Evergreen WebView2 Runtime werden automatisch auf den Client heruntergeladen. Der Client verwendet die neue Version der WebView2-Runtime, wenn Ihre WebView2-App neu gestartet wird. Wenn Ihre App jedoch kontinuierlich ausgeführt wird, verwendet Ihre App weiterhin die vorherige Version der WebView2-Runtime. Dies hat Auswirkungen auf die Sicherheit, da die vorherige Version der WebView2-Runtime Sicherheitslücken aufweisen kann, die in der neuen Version behoben wurden. Sie sollten überlegen, ob es für Ihre App wichtig ist, die neueste Version der WebView2-Runtime so schnell wie möglich basierend auf dem Bedrohungsmodell Ihrer App zu übernehmen. Wenn Ihre WebView2-App beispielsweise auf Drittanbieterinhalte zugreift, sollten diese Inhalte als nicht vertrauenswürdig betrachtet werden, sodass Ihre App die neueste Version der WebView2-Runtime verwenden muss.
Um die neue Version der WebView2-Runtime zu verwenden, müssen Sie entweder alle Verweise auf die vorherigen WebView2-Umgebungsobjekte freigeben oder Ihre App neu starten. Wenn Ihre App das nächste Mal eine neue WebView2-Umgebung erstellt, verwendet die App die neue Version der WebView2-Runtime. Um dies zu erreichen, können Sie einen Ereignishandler für das NewBrowserVersionAvailable Ereignis verwenden, damit Ihre App den Benutzer automatisch darüber benachrichtigt, die App neu zu starten. Wenn Ihre App den Neustart der App verarbeitet, sollten Sie den Benutzerzustand speichern, bevor die WebView2-App beendet wird.
-
CoreWebView2EnvironmentKlasse:
Testen Ihrer App auf Vorwärtskompatibilität
Im Evergreen-Verteilungsmodus wird die WebView2-Runtime automatisch auf dem Client auf dem neuesten Stand gehalten, um die neuesten Features und Sicherheitskorrekturen bereitzustellen. Wenn Sie die Evergreen-Distribution verwenden, sollten Sie eine Testinfrastruktur einrichten, um sicherzustellen, dass Ihre WebView2-App mit dem Web kompatibel bleibt.
Bewährte Methoden zum Testen Ihrer App auf Vorwärtskompatibilität finden Sie unter Vorabversionstests mithilfe von Vorschaukanälen und Selbsthosting durch Bereitstellen von Vorschaukanälen.
Featureerkennung bei Verwendung aktueller APIs
Bei Verwendung des Evergreen-Modus in WebView2-Apps ist es wichtig, mithilfe von Methoden wie QueryInterface oder try-catchauf das Vorhandensein neuer APIs auf dem Computer des Clients zu überprüfen, da der Clientcomputer möglicherweise nicht über die neueste WebView2-Runtime verfügt, die die neuen APIs enthält. Updates zur WebView2-Runtime tritt möglicherweise nicht auf, wenn ein IT-Admin das Update deaktiviert oder der Client offline ist.
Weitere Informationen finden Sie unter Featureerkennung, um zu testen, ob die installierte Runtime kürzlich hinzugefügte APIs inVorabversion und Release-SDKs für WebView2 unterstützt.
Es gibt separate Updaterichtlinien für Microsoft Edge und die WebView2-Runtime. Das Deaktivieren von Updates für Microsoft Edge wirkt sich nicht auf die Verfügbarkeit der neuesten WebView2-APIs aus, da die WebView2-Runtime weiterhin automatisch aktualisiert werden kann (es sei denn, das Aktualisieren der WebView2-Runtime wird durch eine Admin deaktiviert).
Der Laufzeitverteilungsmodus "Fixed Version"
Für eingeschränkte Umgebungen mit strengen Kompatibilitätsanforderungen sollten Sie den Verteilungsmodus "Feste Version" verwenden. (Der Verteilungsmodus "Feste Version" wurde zuvor als Bring-Your-Own bezeichnet.) Einführende Informationen finden Sie unter Der Laufzeitverteilungsmodus "Feste Version" in Evergreen im Vergleich zu einer festen Version der WebView2-Runtime.
Im Verteilungsmodus "Feste Version" steuern Sie den Zeitpunkt von Updates an der WebView2-Runtime für Ihre App. Sie laden eine bestimmte Version der WebView2-Runtime herunter und packen sie dann mit Ihrer WebView2-App. Die WebView2-Runtime auf dem Client wird nicht automatisch aktualisiert. Stattdessen aktualisieren Sie in regelmäßigen Abständen die WebView2-Runtime, die zusammen mit Ihrer aktualisierten App gepackt und verteilt wird. Der Ansatz mit fester Version verwendet keinen Registrierungsschlüssel für die WebView2-Runtime.
Die Binärdateien mit fester Version sind über 250 MB groß und vergrößern Ihr App-Paket um diesen Betrag.
So verwenden Sie den Verteilungsmodus "Feste Version"
Laden Sie die feste Version der WebView2-Runtime unter Herunterladen der WebView2-Runtime als Paket herunter.
Die am häufigsten gepatchte Version der neuesten und zweitneuesten Hauptversionen steht auf dieser Website zum Download zur Verfügung. Bewahren Sie eine archivierte Kopie aller benötigten Versionen auf.
Dekomprimieren Sie das WebView2-Runtime-Paket mithilfe des Befehlszeilenbefehls
expand {path to the package} -F:* {path to the destination folder}oder mithilfe eines Dekomprimierungstools wie WinRAR. Vermeiden Sie das Dekomprimieren durch Explorer, da dieser Ansatz möglicherweise nicht die richtige Ordnerstruktur generiert.Schließen Sie alle dekomprimierten Binärdateien mit fester Version in Ihr App-Paket ein, die während der Installation Ihrer App auf dem Zielcomputer bereitgestellt werden sollen.
Geben Sie beim Erstellen der WebView2-Umgebung den Pfad zu den Binärdateien mit fester Version an.
Für Win32 C/C++ können Sie die Umgebung mit der CreateCoreWebView2EnvironmentWithOptions-Funktion erstellen. Verwenden Sie den
browserExecutableFolder-Parameter, um den Pfad zu dem Ordner anzugeben, der enthältmsedgewebview2.exe.Für .NET müssen Sie die Umgebung angeben, bevor die WebView2-Eigenschaft
Sourcewirksam wird. Für .NET können Sie einen der folgenden Ansätze verwenden, um die Umgebung anzugeben:Legen Sie die
CreationPropertiesEigenschaft (WPF/WinForms) für dasWebView2-Element fest. Verwenden Sie denBrowserExecutableFolderMember in derCoreWebView2CreationPropertiesKlasse (WPF/WinForms), um den Pfad zu den Binärdateien mit fester Version anzugeben.Alternativ können Sie (WPF/WinForms) verwenden
EnsureCoreWebView2Async, um die Umgebung anzugeben. Verwenden Sie denbrowserExecutableFolderParameter in CoreWebView2Environment.CreateAsync , um den Pfad zu den Binärdateien mit fester Version anzugeben.
Stellen Sie für WinUI sicher, dass die App Zugriff auf den Ordner hat, indem Sie den installierten Speicherort angeben und die Umgebungsvariable für den Laufzeitpfad festlegen. Eine Möglichkeit besteht darin, Ihrer App den folgenden C#-Code hinzuzufügen:
StorageFolder localFolder = Windows.ApplicationModel.Package.Current.InstalledLocation; String fixedPath = Path.Combine(localFolder.Path, "FixedRuntime\\(version number)"); Debug.WriteLine($"Launch path [{localFolder.Path}]"); Debug.WriteLine($"FixedRuntime path [{fixedPath}]"); Environment.SetEnvironmentVariable("WEBVIEW2_BROWSER_EXECUTABLE_FOLDER", fixedPath);
Packen Und versenden Sie die Binärdateien mit fester Version mit Ihrer App. Aktualisieren Sie die Binärdateien nach Bedarf.
Für WinUI kann dies das Öffnen der Projektdatei (
.csproj) in einem Code-Editor umfassen und dann den folgenden Code innerhalb der Projekttags hinzufügen:<ItemGroup> <Content Include="FixedRuntime\(version number)\\**\*.*"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> </ItemGroup>Vergewissern Sie sich, dass der
bin\**designated architecture**\ReleaseOrdner über einen entsprechenden FixedRuntime\(Versionsnummer)-Ordner mit den Laufzeitdateien verfügt.
Auf Windows 10 Geräten müssen Entwickler von nicht gepackten Win32-Anwendungen mit fester Version ab Version 120 die folgenden Befehle ausführen, damit die feste Version weiterhin funktioniert. Dies ist auf eine Sicherheitsverbesserung in v120 zurückzuführen, um den Rendererprozess innerhalb des App-Containers auszuführen. Diese Änderung wirkt sich nicht auf Windows 11 Geräte, die ältere Runtime oder gepackte Apps aus.
Suchen Sie den Pfad, in dem Sie das Paket "Feste Version" auf dem Gerät des Benutzers bereitstellen, z. B. den folgenden Speicherort:
D:\myapp\Microsoft.WebView2.FixedVersionRuntime.87.0.664.8.x64Führen Sie die folgenden Befehle auf dem Gerät des Benutzers aus:
icacls {Fixed Version path} /grant *S-1-15-2-2:(OI)(CI)(RX) icacls {Fixed Version path} /grant *S-1-15-2-1:(OI)(CI)(RX)Vergewissern Sie sich, dass berechtigungen für
ALL APPLICATION PACKAGESundALL RESTRICTED APPLICATION PACKAGESauf der Registerkarte Sicherheit des Ordners Fixed Version gewährt werden, wie unten gezeigt:
Bekannte Probleme bei der behobenen Version
- Derzeit kann die feste Version nicht über einen Netzwerkspeicherort oder UNC-Pfad ausgeführt werden.
Dateien, die mit der App ausgeliefert werden sollen
Der WebView2Loader Code muss mit der App ausgeliefert werden. Dies kann durch eine statische Verknüpfung WebView2Loader.lib mit den App-Binärdateien oder durch Einfügen von erfolgen, die WebView2Loader.dll der Architektur der App entspricht. In der Regel wird dies automatisch von Visual Studio behandelt, wenn Sie die .targets Datei im WebView2 SDK verwenden. Es kann jedoch vorkommen, dass Sie manuell angeben müssen, welche Dateien mit Ihrer App veröffentlicht werden sollen. Informationen zum statischen Verknüpfen der WebView2-Ladeprogrammbibliothek finden Sie unter Verteilen einer WebView2-App als einzelne ausführbare Datei.
WebView2Loader.dll ist eine native und architekturspezifische Binärdatei, sodass Sie alle Varianten dieser Binärdatei einschließen müssen, in denen Ihre App ausgeführt werden soll. Zum Beispiel:
Für x86 würden Sie die x86-Version von
WebView2Loader.dlleinschließen.Für eine verwaltete App mit AnyCPU würden Sie die x86-, x64- und arm64-Versionen von
WebView2Loader.dlleinschließen. Die richtige Version vonWebView2Loader.dllwird aus dem entsprechenden architekturspezifischen Ordner geladen.
Beispiel für systemeigene App-Ordnerstruktur:
\<myApp>
\WebView2Loader.dll
Für verwaltete .NET-Apps müssen Sie auch die WebView2 .NET-Assemblys für die WebView2-Kernfunktionalität (Microsoft.Web.WebView2.Core.dll) und für die WPF/WinForms-spezifische Funktionalität (Microsoft.Web.WebView2.Winforms.dll oder Microsoft.Web.WebView2.WPF.dll) einschließen.
Beispiel für die Ordnerstruktur einer verwalteten App:
\<myApp>
\Microsoft.Web.WebView2.Core.dll
\Microsoft.Web.WebView2.Winforms.dll
\Microsoft.Web.WebView2.WPF.dll
\runtimes
\win-arm64\native\WebView2Loader.dll (arm64)
\win-x64\native\WebView2Loader.dll (x64)
\win-x86\native\WebView2Loader.dll (x86)
Siehe auch
- WebView2-Bereitstellungsbeispiele
-
Vorabversion und Release-SDKs für WebView2
- Featureerkennung, um zu testen, ob die installierte Runtime kürzlich hinzugefügte APIs in Vorabversion und Release-SDKs für WebView2 unterstützt.
- Evergreen im Vergleich zu einer festen Version der WebView2-Runtime
- Windows Server Update Services (WSUS) in der Unternehmensverwaltung von WebView2-Runtimes.
- Testen anstehender APIs und Features
- Vorabversionstests mithilfe von Vorschaukanälen
- Selbsthosting durch Bereitstellen von Vorschaukanälen
- Verteilen Sie eine WebView2-App als einzelne ausführbare Datei , indem Sie die WebView2-Ladeprogrammbibliothek statisch verknüpfen.
Enterprise-Dokumentation:
- Microsoft Edge-Releasezeitplan
- Versionshinweise für Microsoft Edge Stable Channel
- Versionshinweise für Microsoft Edge Security Updates
developer.microsoft.com:
- Laden Sie webView2 Runtime – Entwickler herunter.
- Laden Sie Microsoft Edge WebView2 – Endbenutzer herunter.
Blogs:
- Bereitstellen von Microsoft Edge WebView2 Runtime für verwaltete Windows 10-Geräte
- Bereitstellen von Microsoft Edge WebView2 Runtime für verwaltete Windows 10-Geräte
Windows:
GitHub:
Windows-Runtime-API:
- win32dependencies:ExternalDependency (Windows 10, Windows 11) in der Dokumentation zum App-Paketmanifest.
API-Referenz:
Die
CreationProperties-Eigenschaft für dasWebView2-Element: (WPF/WinForms)Das
BrowserExecutableFolderElement in derCoreWebView2CreationProperties(WPF/WinForms)CoreWebView2EnvironmentKlasse:-
CoreWebView2Environment.CreateAsync einschließlich des
browserExecutableFolderParameters. - CoreWebView2Environment.NewBrowserVersionAvailable-Ereignis
-
CoreWebView2Environment.CreateAsync einschließlich des