Verteilen Ihrer App und der WebView2-Runtime

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-Verteilungsmodus als auch für den Verteilungsmodus mit Fixierter Version.

Einführende Informationen finden Sie unter Evergreen vs. Fixed Version der WebView2 Runtime.

Detaillierter Inhalt:

Runtime- oder Browserunterstützung während der Entwicklung oder Produktion

Während der Entwicklung und des Testens kann eine WebView2-App beide Optionen als zugrunde liegenden Webplattform verwenden:

  • Die WebView2 Runtime. Die Runtime bietet im Allgemeinen die gleichen Webplattformfunktionen und Update-Release-Intervalle wie der Stable-Kanal des Microsoft Edge-Browsers. siehe Microsoft Edge-Veröffentlichungszeitplan. Verwenden Sie die WebView2-Runtime in einer Produktionsumgebung oder zum Entwickeln und Testen mit der Webplattform, die Ihren Benutzern heute zur Verfügung steht.

  • Eine Vorschau (Insider) eines Microsoft Edge-Browserkanals. Diese Microsoft Edge-Vorschaukanäle sind Beta, Dev und Canary. Verwenden Sie diesen Ansatz, um Ihre App auf Vorwärtskompatibilität zu testen und so festzustellen, ob eine Umbruch-Änderung bevorsteht, die eine Aktualisierung Ihrer App erfordert. Weitere Informationen finden Sie unter Wechseln zu einem Vorschaukanal zum Testen anstehender APIs und Features.

Eine Produktionsversion einer WebView2-App kann nur die WebView2-Runtime, nicht aber Microsoft Edge als zugrunde liegende Webplattform verwenden.

Microsoft Edge Stable-Kanal wird für WebView2 nicht unterstützt

WebView2-Apps dürfen den Stable-Kanal von Microsoft Edge nicht als zugrunde liegende Webplattform verwenden. Diese Einschränkung verhindert, dass eine Produktionsversion einer WebView2-App eine Abhängigkeit vom Browser herstellt. Eine WebView2-App kann während der Produktion aus den folgenden Gründen keine Abhängigkeit vom Browser herstellen:

  • Es ist nicht garantiert, dass Microsoft Edge auf allen Benutzergeräten vorhanden ist. Viele Geräte in Unternehmen und Bildungseinrichtungen sind von Windows Update getrennt oder werden nicht direkt von Microsoft verwaltet. Auf diesen Geräten ist Microsoft Edge möglicherweise nicht installiert. Dadurch, dass die Produktionsversion von WebView2-Apps die WebView2-Runtime anstelle von Microsoft Edge verwenden muss, wird verhindert, dass Microsoft Edge für die Ausführung einer WebView2-App vorausgesetzt wird.

  • Browser und Apps haben unterschiedliche Anwendungsfälle. Wenn eine WebView2-App das Vorhandensein von Microsoft Edge auf dem Client erfordern würde, hätte dies möglicherweise unbeabsichtigte Nebeneffekte für die WebView2-App. Beispielsweise kann ein IT-Admin verhindern, dass der Browser mit einer bestimmten Version aktualisiert wird, um die Kompatibilität des Browsers mit einer internen Website weiterhin zu gewährleisten. Dadurch, dass die Produktionsversion einer WebView2-App die WebView2-Runtime anstelle des Browsers verwenden muss, bleibt die WebView2-App stets immergrün, auch wenn Browserupdates vom Administrator des Clients verhindert werden.

  • Im Gegensatz zum Browser wurde die WebView2-Runtime für App-Szenarien entwickelt und getestet und kann in einigen Fällen Fehlerbehebungen enthalten, die im Browser noch nicht verfügbar sind.

Die Evergreen WebView2-Runtime wird als Teil des Betriebssystems Windows 11 enthalten sein. Verschiedene WebView2-Apps haben die Evergreen-Runtime auf Geräten mit älteren Betriebssystemen als Windows 11 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 ein 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 fehlen sollte. Die App kann diese Überprüfung bei der Installation oder Aktualisierung Ihrer App (empfohlen) oder zur App-Laufzeit durchführen. Informationen dazu, 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 zur festen Version der WebView2-Runtime.

Der Evergreen-Verteilungsmodus weist die folgenden Merkmale auf:

  • Die WebView2-Runtime wird automatisch aktualisiert, ohne dass Sie etwas tun müssen. Er erhält dieselben Microsoft Edge-Updates, die in den Versionshinweisen für Microsoft Edge Stable Channel und Versionshinweisen für Microsoft Edge Security Updates beschrieben sind.

  • Alle WebView2-Apps, die den Evergreen-Verteilungsmodus nutzen, verwenden eine gemeinsam genutzte Kopie der Evergreen WebView2-Runtime, wodurch Speicherplatz gespart wird.

  • Auf berechtigten Systemen sind Binärdateien für Microsoft Edge und die Evergreen WebView2-Runtime fest miteinander verknüpft, wenn sie sich auf derselben Version befinden. Diese Verknüpfung bietet Vorteile für den Speicherbedarf auf Datenträgern, den Arbeitsspeicher und die Leistung.

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. Zu dem Zeitpunkt, zu dem ein neues WebView2 SDK-Paket freigegeben wird, wurde bereits eine kompatible Version der WebView2-Runtime an Clients verteilt. Daher ist es in Ordnung, wenn Ihre WebView2-App die APIs in der neuesten Version des WebView2 SDK verwendet.

Windows 11-Geräte und Windows 10-Geräte (Details)

Einführende Informationen finden Sie unter Windows 11-Geräte und Windows 10-Geräte in Evergreen im Vergleich zur festen Version der WebView2-Runtime.

Auf den allermeisten 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 Grenzfall mit einem der folgenden Ansätze zu behandeln:

Siehe auch:

  • Vorabversions- 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. Unter WebView2-Runtime herunterladen stehen mehrere Tools zur Verfügung, die Ihnen bei der Bereitstellung der Evergreen-Runtime helfen.

  • Für Onlineclients: WebView2 Runtime Bootstrapper ist ein winziges (ca. 2 MB) Installationsprogramm. Der WebView2 Runtime Bootstrapper lädt die Evergreen Runtime von Microsoft-Servern, die der Gerätearchitektur des Benutzers entsprechen, herunter und installiert sie.

    • Stellen Sie im Setupteil Ihrer WebView2-App eine Verknüpfung zum Bootstrapper her. Verwenden Sie einen Link, um den Bootstrapper programmgesteuert herunterzuladen. wählen Sie die Schaltfläche Link abrufen auf der obigen Downloadseite aus.

    • Oder laden Sie den Bootstrapper herunter, und verpacken Sie ihn mit Ihrer WebView2-App.

  • Für Offlineclients: WebView2 Runtime Standalone 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. Weitere Informationen dazu finden Sie unter win32dependencies:ExternalDependency (Windows 10, Windows 11) in der Dokumentation des App-Paketmanifests. Siehe auch: Installieren von Windows 10-Apps mit App Installer.

Installieren der Runtime pro Computer oder pro Benutzer

Der neueste Bootstrapper und der eigenständige Installer unterstützen Installationen der WebView2 Runtime sowohl auf Computer- als auch auf Benutzerbasis .

Wenn Sie den Installer über einen Prozess mit erhöhten Berechtigungen oder eine Eingabeaufforderung ausführen, wird die Runtime pro Computer installiert. Wenn Sie den Installer nicht über einen Prozess mit erhöhten Berechtigungen oder eine Eingabeaufforderung ausführen, wird die Runtime pro Benutzer installiert. Eine Installation auf Benutzerbasis wird jedoch automatisch durch eine Installation pro Computer ersetzt, wenn ein Microsoft Edge Updater pro Computer vorhanden ist. Ein computerspezifischer Microsoft Edge Updater ist als Teil von Microsoft Edge enthalten, mit Ausnahme des Canary-Vorschaukanals von Microsoft Edge.

Verwenden Sie den folgenden Workflow für die Onlinebereitstellung bzw. die Offlinebereitstellung, um sicherzustellen, dass die Runtime bereits installiert ist, bevor Ihre App gestartet wird. Sie können Ihren Workflow je nach Szenario anpassen. Der Beispielcode ist im Beispielrepository verfügbar.

Erkennen, ob bereits eine WebView2-Runtime 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 folgenden beiden Registrierungsspeicherorten. Der HKEY_LOCAL_MACHINE Registrierungsschlüssel wird für die Installation pro Computer verwendet. Der HKEY_CURRENT_USER Registrierungsschlü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 keiner der Registrierungsschlüssel vorhanden ist oder nur einer dieser Registrierungsschlüssel vorhanden ist, dessen Wert jedoch eine leere Zeichenfolge oder 0.0.0.0 ist null, 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 Sie pv (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 werten Sie nullptraus, ob der versionInfo ist . nullptr gibt 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.

Nur Onlinebereitstellung

Wenn Sie ein reines Online-Bereitstellungsszenario haben, bei dem davon ausgegangen wird, dass Benutzer über einen Internetzugang verfügen, verwenden Sie den folgenden Workflow.

  1. Führen Sie während des App-Setups einen Test aus, um sicherzustellen, dass die WebView2-Runtime bereits installiert ist. Siehe Erkennen, ob eine WebView2-Runtime bereits installiert ist, siehe oben.

  2. 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.

  3. Rufen Sie den WebView2 Runtime Bootstrapper auf, indem Sie den folgenden Befehl ausgeben.

    Wenn Sie den folgenden Befehl über einen Prozess mit erhöhten Berechtigungen oder eine Eingabeaufforderung ausführen, wird eine Installation pro Computer ausgelöst. Wenn Sie den Befehl nicht über einen Prozess mit erhöhten Berechtigungen oder eine Eingabeaufforderung ausführen, findet eine Installation pro Benutzer statt. Eine Installation auf Benutzerbasis wird jedoch automatisch durch eine Installation pro Computer ersetzt, wenn ein Microsoft Edge Updater pro Computer vorhanden ist. Ein Microsoft Edge Updater pro Computer 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 keinen Runtime-Installer mit Ihrer WebView2-App verpacken.

  • Der WebView2 Runtime Bootstrapper erkennt automatisch die Architektur (Plattform) des Geräts und installiert dann die entsprechende WebView2-Runtime.

  • Die Runtime wird im Hintergrund installiert.

Alternativ können Sie den Evergreen Bootstrapper für die WebView2-Runtime mit Ihrer App verpacken, anstatt den Bootstrapper bei Bedarf programmgesteuert herunterzuladen, indem Sie einen Link abrufen, wie oben gezeigt.

Offlinebereitstellung

Wenn Sie ein Offline-Bereitstellungsszenario haben, in dem die App-Bereitstellung vollständig offline funktionieren muss, verwenden Sie den folgenden Workflow.

  1. Laden Sie den eigenständigen Evergreen-Installer von Laden Sie die WebView2-Runtime auf Ihren Entwicklungscomputer herunter. Der eigenständige Evergreen-Installer installiert die Evergreen WebView2-Runtime auf dem Client.

  2. Fügen Sie den eigenständigen Evergreen-Installer in Ihren App-Installer oder -Updater ein.

  3. Führen Sie während des App-Setups einen Test aus, um sicherzustellen, dass die WebView2-Runtime bereits installiert ist. Siehe Erkennen, ob eine WebView2-Runtime bereits installiert ist, siehe oben.

  4. 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 verwenden.

    Wenn Sie den folgenden Befehl über einen Prozess mit erhöhten Berechtigungen oder eine Eingabeaufforderung ausführen, wird eine Installation pro Computer ausgelöst. Wenn Sie den Befehl nicht über einen Prozess mit erhöhten Berechtigungen oder eine Eingabeaufforderung ausführen, findet eine Installation pro Benutzer statt. Eine Installation auf Benutzerbasis wird jedoch automatisch durch eine Installation pro Computer ersetzt, wenn ein Microsoft Edge Updater pro Computer vorhanden ist. Ein Microsoft Edge Updater pro Computer 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
    

Evergreen WebView2 Runtime-Updates handhaben

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 möglicherweise Sicherheitsrisiken aufweist, die in der neuen Version behoben werden. Sie sollten überlegen, ob es für Ihre App wichtig ist, die neueste Version der WebView2-Runtime basierend auf dem Bedrohungsmodell Ihrer App so schnell wie möglich zu übernehmen. Wenn Ihre WebView2-App beispielsweise auf Inhalte von Drittanbietern 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 die 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 benachrichtigt, die App neu zu starten. Wenn Ihre App den Neustart der App behandelt, sollten Sie den Benutzerstatus speichern, bevor die WebView2-App beendet wird.

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 Sicherheitspatches bereitzustellen. Wenn Sie die Evergreen-Verteilung verwenden, sollten Sie die 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 mit Vorschaukanälen von Microsoft Edge und Self-Host durch Bereitstellung von Vorschaukanälen.

Erkennen von Features bei Verwendung der kürzlich verwendeten APIs

Bei der Verwendung des Evergreen-Modus in WebView2-Apps ist es wichtig, mithilfe von Methoden wie QueryInterface or try-catchzu überprüfen, ob neue APIs auf dem Clientcomputer vorhanden sind, da der Clientcomputer möglicherweise nicht über die neueste WebView2-Runtime verfügt, die die neuen APIs enthält. Updates für die WebView2-Runtime werden möglicherweise nicht durchgeführt, wenn ein IT-Admin die Aktualisierung deaktiviert oder der Client offline ist.

Ausführliche Informationen finden Sie unter Featureerkennung, um zu testen, ob die installierte Runtime kürzlich hinzugefügte APIs in Vorabversions- und Release-SDKs für WebView2 unterstützt.

Für Microsoft Edge und die WebView2-Runtime gibt es separate Updaterichtlinien. 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, die Aktualisierung der WebView2-Runtime wird von einem Admin deaktiviert).

Der Laufzeitverteilungsmodus mit Fixierter Version

In eingeschränkten Umgebungen mit strengen Kompatibilitätsanforderungen sollten Sie den Verteilungsmodus "Fixierte Version" verwenden. (Der Verteilungsmodus mit Fixierter Version wurde zuvor als "Bring-Your-Own" bezeichnet.) Einführende Informationen finden Sie unter Der Laufzeitverteilungsmodus mit Fixierter Version in Evergreen im Vergleich zur Fixierten Version der WebView2-Runtime.

Im Verteilungsmodus mit Fixierter Version steuern Sie den Zeitpunkt der Updates für die WebView2-Runtime für Ihre App. Sie laden eine bestimmte Version der WebView2-Runtime herunter und verpacken 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 mit Ihrer aktualisierten App verpackt und verteilt wird. Beim Ansatz mit Fixierter Version wird kein Registrierungsschlüssel für die WebView2-Runtime verwendet.

Die Binärdateien der Fixierten Version sind über 250 MB groß und vergrößern den Speicherbedarf Ihres App-Pakets um diese Größe.

So verwenden Sie den Verteilungsmodus mit Fixierter Version:

  1. Laden Sie die Fixierte Version der WebView2-Runtime von Laden Sie die WebView2-Runtime als Paket herunter.

    Die am häufigsten gepatchte Version der neuesten und zweitletzten Hauptversion steht auf dieser Website zum Download zur Verfügung. Behalten Sie eine archivierte Kopie aller benötigten Versionen bei.

  2. 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 über den Explorer, da durch diese Vorgehensweise möglicherweise nicht die richtige Ordnerstruktur generiert wird.

  3. Schließen Sie alle dekomprimierten Binärdateien der Fixierten Version in Ihr App-Paket ein, die während der Installation Ihrer App auf dem Zielcomputer bereitgestellt werden sollen.

  4. Geben Sie beim Erstellen der WebView2-Umgebung den Pfad zu den Binärdateien mit der Fixierten Version an.

    • Für Win32 C/C++ können Sie die Umgebung mit der Funktion CreateCoreWebView2EnvironmentWithOptions erstellen. Verwenden Sie den browserExecutableFolder Parameter, um den Pfad zu dem Ordner anzugeben, der die WebView2-Runtime enthält ().msedgewebview2.exe

    • Für .NET müssen Sie die Umgebung angeben, bevor die WebView2-Eigenschaft Source wirksam wird. Für .NET können Sie einen der folgenden Ansätze verwenden, um die Umgebung anzugeben:

      • Legen Sie die CreationProperties Eigenschaft (WPF/WinForms) für das WebView2 Element fest. Verwenden Sie das BrowserExecutableFolder Element in der CoreWebView2CreationProperties Klasse (WPF/WinForms), um den Pfad zu den Binärdateien für Fixierte Version anzugeben.

      • Alternativ können Sie EnsureCoreWebView2Async (WPF/WinForms) verwenden, um die Umgebung anzugeben. Verwenden Sie den browserExecutableFolder Parameter in CoreWebView2Environment.CreateAsync , um den Pfad zu den Binärdateien der Fixierten 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 hierzu ist das Hinzufügen des folgenden C#-Codes zu Ihrer App:

      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);
      
  5. Packen und versenden Sie die Binärdateien der Fixierten Version mit Ihrer App. Aktualisieren Sie die Binärdateien entsprechend.

    • Für WinUI kann dieser Schritt das Öffnen der Projektdatei (.csproj) in einem Code-Editor und das anschließende Hinzufügen des folgenden Codes innerhalb der Projekttags umfassen:

      <ItemGroup>
          <Content Include="FixedRuntime\(version number)\\**\*.*">
          <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
          </Content>
      </ItemGroup>
      

      Stellen Sie sicher, dass der bin\**designated architecture**\Release Ordner einen übereinstimmenden FixedRuntime\(Versionsnummer)-Ordner mit den Laufzeitdateien enthält.

  6. Auf Windows 10-Geräten müssen Entwickler von entpackten Win32-Anwendungen, die die Fixierte Version verwenden, ab der Fixierten Version 120 die folgenden Befehle ausführen, damit die Fixierte Version weiterhin funktioniert. Dies ist auf eine Sicherheitsverbesserung in Version 120 zurückzuführen, bei der der Rendererprozess innerhalb des App-Containers ausgeführt wird. Diese Änderung wirkt sich nicht auf Windows 11-Geräte, die ältere Laufzeitumgebung oder verpackte Apps aus.

    1. Suchen Sie den Pfad, in dem Sie das Paket mit der Fixierten Version auf dem Gerät des Benutzers bereitstellen, z. B. den folgenden Speicherort:

      D:\myapp\Microsoft.WebView2.FixedVersionRuntime.87.0.664.8.x64
      
    2. Fü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)
      
    3. Vergewissern Sie sich, dass Berechtigungen für ALL APPLICATION PACKAGES und ALL RESTRICTED APPLICATION PACKAGES auf der Registerkarte "Sicherheit " des Ordners "Fixierte Version " erteilt wurden, wie unten gezeigt:

      Berechtigung für PlayReady

Bekannte Probleme für die Fixierte Version

  • Die Fixierte Version kann derzeit nicht von einem Netzwerkspeicherort oder UNC-Pfad ausgeführt werden.

Files, die mit der App versandt werden sollen

Der WebView2Loader Code muss mit der App versandt werden. Dies kann durch statische Verknüpfung WebView2Loader.lib mit den App-Binärdateien oder durch Einschließen der WebView2Loader.dll erfolgen, die der Architektur der App entspricht. In der Regel wird dies automatisch für Sie durch Visual Studio durchgeführt, wenn Sie die .targets Datei im WebView2 SDK verwenden. Es kann jedoch Fälle geben, in denen 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 systemeigene 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 müssten Sie die x86-Version von WebView2Loader.dlleinschließen.

  • Für eine verwaltete App mit AnyCPU müssten Sie die Versionen x86, x64 und arm64 von WebView2Loader.dlleinschließen. Die richtige Version von WebView2Loader.dll wird aus dem entsprechenden architekturspezifischen Ordner geladen.

Beispiel für eine systemeigene App-Ordnerstruktur:

\<myApp>
    \WebView2Loader.dll

Bei verwalteten .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 eine verwaltete App-Ordnerstruktur:

\<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)

Warten der WebView2-Runtime über Windows Server Update Services (WSUS)

Weitere Informationen finden Sie unter Windows Server Update Services (WSUS) in der Unternehmensverwaltung von WebView2.

Siehe auch

Dokumentation für Microsoft Edge Enterprise:

developer.microsoft.com:

Blogs:

Windows:

GitHub:

Windows-Runtime-API:

API-Referenz: