· RustDesk Team · Veröffentlichung  · 2 Min. Lesezeit

Wie lässt sich Flutter 3.24 unter Windows 7 ausführen?

Seit Flutter 3.22 Windows 7 / 8 nicht mehr unterstützt, muss die Flutter Engine angepasst werden.

Wie lässt sich Flutter 3.24 unter Windows 7 ausführen?

Wir haben kürzlich Flutter 3.24.5 in RustDesk eingeführt. Dadurch lief RustDesk nicht mehr unter Windows 7. Um das Problem zu lösen, haben wir die Flutter Engine angepasst.

Lösung für Flutter 3.24.5 unter Windows 7

Flutter und Dart haben angekündigt, dass Dart 3.3 und Flutter 3.19 die letzten Versionen mit Unterstützung für Windows 7 und 8 sind. Damit Flutter 3.24.5 dennoch funktioniert, müssen einige Dart-Änderungen zurückgenommen werden.

Weiterführender Link: Offizielle Ankündigung

1. Platform.localHostname in chinesischen Umgebungen

Dart verwendete ursprünglich die API gethostname, wodurch Platform.localHostname in chinesischen Umgebungen fehlschlug. Als Lösung wechselte Dart zur erst ab Windows 8 verfügbaren API GetHostNameW. Für Windows 7 muss diese Änderung zurückgenommen werden. Dadurch wird allerdings Platform.localHostname in chinesischen Umgebungen beeinträchtigt.

Issue: Platform.localHostname fails on Chinese Windows

2. Behandlung der Unwinding-Records-API für Windows 7 wiederherstellen

Dart enthielt eine Kompatibilitätsbehandlung für die unter Windows 7 fehlende API RtlAddGrowableFunctionTable, die später entfernt wurde. Für die Windows-7-Kompatibilität muss der entsprechende Commit zurückgenommen werden.

Commit: Remove Windows7 handling of unwinding records API

Eine Dart-Korrektur für relative symbolische Verzeichnislinks änderte File::GetType und verwendete dabei die erst ab Windows 8 verfügbare API PathCchCombineEx. Auch diese Änderung muss für Windows 7 zurückgenommen werden.

Commit: Fix a bug where relative symlinks to directories did not work on Windows

Fazit

Für Flutter 3.24.5 unter Windows 7 sind mehrere Rücknahmen in Dart nötig. Sie haben Nebenwirkungen bei Platform.localHostname in chinesischen Umgebungen und bei relativen symbolischen Links, sind für Nutzer von Windows 7 aber erforderlich.

Die vollständige Umsetzung finden Sie in unserer CI. Hier wird die angepasste Engine in RustDesk eingebunden.

Teilen:
Zurück zum Blog

Ähnliche Beiträge

Alle Beiträge anzeigen »