AG-VIP SQL bleibt bei Ausführung eines Makros, beim Beenden oder bei Wechsel eines Arbeitsbereiches stehen und zeigt einen Dialog "Server ausgelastet"

Beschreibung:

Beim Arbeiten in AG-VIP SQL kommt es zu langen Watezeiten, speziell nach dem Beenden oder Wechsel eines Arbeitsbereiches. Soll ein Makro oder Hilsmittel ausgeführt werden, erscheint ein Dialog mit dem Titel "Server ausgelastet" und den Schaltern Wechseln zu..., Wiederholen und Abbrechen.

Ursache:

In einer Ansicht, die zuvor in irgendeinem Arbeitsbereich benutzt wurde, kam auch WebView2 / Edge Browser Control zum Einsatz. Beim Beenden des Arbeitsbereiches wurde diese Ansicht zerstört.Als Folge kam es zu einem internen Fehler im Edge Modul. Dieser Fehler blockiert das gesamte COM-Interface von AG-VIP SQL. (Siehe Details im Link am Ende des Artikels)

Dieses Problem tritt auf mit dem Edge Update auf die Version 120.0.2210.61. Die vorhergehende Version 119.0.2151.97 ist davon nicht betroffen.
Ab der Version 120.0.2210.77, aktuelle Veröffentlichung ab dem 18.12.2023, ist dieses Problem auch behoben,

Der Fehler tritt nur auf, wenn in einer oder mehrerer Ansichten ein Edge Browser Control verwendet wird oder wenn über einen Makro ein MTHMLDIalog mit dem Edge Browser erzeugt wird.

Wie erkenne ich, ob ich von dem Fehler betroffen bin?

Öffnen Sie den Explorer. Geben Sie in der Adressleiste den folgenden Text ein %tmp%\AG-VIP SQL\BrowserData\EBWebView, oder kopieren Sie den hier angegeben Pfad in die Adressleiste des Windows Explorers.

In diesem Verzeichnis befindet sich die Datei Last Version. Öffnen Sie diese Datei mit dem Editor (Notepad).
Wenn diese Datei den Text 120.0.2210.61 enthält, ist Ihr Rechner von dem Problem betroffen. Ab der Version 120.0.2210.77 ist das Problem behoben.

Alternativ können Sie auch den Edge Brwoser öffnen und kontrollieren, welche Version hier benutzt wird. (Drei Punkite Menü -> Hilfe und Feedback -> Infos zu Microsoft Edge). Allerdings ist es möglich dass diese Version von der in AG-VIP SQL genutzten Version abweicht. Eine eindeutige Auskungt gibt Ihnen nur der Test des Inhalts des temporären Verzeichnisses.

Problemlösung:

Ein aktueller Workarround ist, Ansichten mit einem Edge Brwoser Control nicht zu verwenden. Evtl. ist es möglich den Code umzuschreiben und ein externes Browser Fenster zu öffnen.

Wenn das nicht vermieden werden kann, kann eine ältere lauffähige Version von WebView2 / Edge installiert werden. Diese Lösung muss aber für jeden Rechner einzeln installiert werden. Das Verzeichnis für die zu installierende Software darf nicht im Netzwerk liegen.

Für die nachfolgenden Schritte sind lokale adminsitrative Rechte notwendig.

1. Laden Sie die folgende Datei herunter, die diie letzte lauffähige Version des WebView2 / Egde  Browsers enthält:

https://download.grutzeck.de/WebView2v119.zip 

Diese Datei enthält den letzten funktionierenden Build 119.0.2151.97 für 32bit/x86.
Die Datei ist auch bei Microsoft als CAB Datei verfügbar. (Fixed Version, 119.0.2151.97, x86) und kann mit einem entsprechenden geigneten Tool entpackt werden.
https://developer.microsoft.com/en-us/microsoft-edge/webview2#download-section

2. Entpacken der Datei in einen geeigneten Ordner

Entpacken Sie die ZIP/CAB Datei in einen Ordner auf dem lokalen Rechner. Beispielsweise in das Installations Verzeichnis von AG-VIP SQL, wenn eine lokale Installation vorhanden sind. "C:\Program Files (x86)\AG-VIP SQL\WebView2".

Nach dem Entpacken muss die Datei "119.0.2151.97.manifest" direkt in dem entsprechenden gewählten Unterordner liegen. 

Das Verzeichnis darf nicht im Netzwerk liegen!

3. Einrichten einer Umlenkung auf die ältere Software Version

Öffnen Sie den Registrierungseditor REGEDIT.EXE.

Wechseln Sie in den Pfad
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Policies\Microsoft\Edge\WebView2\BrowserExecutableFolder
Ist der Pfad nicht vorhanden, legen Sie den Pfad mit den entsprechenden Verzeichnissen an.

Auf der rechten Seite des Registrierungseditors legen Sie einen neuen Schlüssel an: (Bearbeiten -> Neu -> Zeichenfolge)

Geben Sie dem Eintrag den Namen AGVIP.EXE und weisen als Wert den Verzeichnisnamen zu, in den Sie die WebView2 Dateien entpackt haben.
Beispiel: C:\Program Files (x86)\AG-VIP SQL\WebView2

4. Löschen Sie die alten temporären Dateien

Öffnen Sie den Explorer. Geben Sie in der Adressleiste %TMP% ein.
Löschen Sie nun das gesamte Verzeichnis mit dem Namen AG-VIP SQL.

Das temporäre Verzeichnis für den WebView2 muss gelöscht werden. Sonst kommt es bei der ersten Verwendung eines Browser Controls zu einer Fehlermeldung. Das Verzeichnis wird dann automatisch gelöscht und die nächste Ausführung funktioniert dann. Es ist jedoch ratsam dieses Verzeichns vorher zu löschen.

Weitere Informationen über diesen Fehler

Der Fehler wird auch direkt dem GitHub Kanal für den WebView2 beschrieben (Englisch):
https://github.com/MicrosoftEdge/WebView2Feedback/issues/4226