Портативную упаковку — отдельным шагом (build.py python3 = Store-заглушка)

build.py зовёт `python3 generate.py`, на GUSIK-PC это Store-заглушка ->
падал, хотя клиент уже собран. Теперь build.py --skip-portable-pack,
установщик пакуем реальным python -> dist/rustdesk-<tag>-install.exe.
Стоковый flutter 3.24.5 engine собрал Windows без кастомной подмены.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-14 15:34:22 +03:00
parent a09ae6b913
commit bd7d1f6837
2 changed files with 32 additions and 13 deletions
+11 -4
View File
@@ -59,10 +59,17 @@ RUSTC_BOOTSTRAP=1 нужен, т.к. cargo-expand требует nightly-фич,
`generated_bridge.dart`/`.freezed.dart` нет → flutter build падает `EventToUI_Event/RustdeskImpl isn't a type`.
Поэтому проверять надо dart-файлы, не только rust.
### Открытый вопрос (решить при первой сборке)
Апстрим для Windows-x64 подменяет flutter-engine кастомным `windows-x64-release.zip` (ради Win7).
Для таргета Win10/11, вероятно, можно оставить стоковый engine 3.24.5 и пропустить подмену — проверить,
не падает ли `flutter build windows` без неё.
### Грабля: portable-pack и python3-заглушка (GUSIK-PC)
`build.py --flutter` в конце зовёт `python3 ./generate.py` для сборки портативного установщика. На
GUSIK-PC `python3` = Microsoft Store-заглушка (реальный только `python` = 3.12) → шаг падает
(«Python Error occurred when executing generate.py»), хотя **клиент к этому моменту уже собран** в
`flutter/build/windows/x64/runner/Release/`. Поэтому `build-windows.ps1` зовёт `build.py --skip-portable-pack`,
а установщик пакует отдельным шагом реальным `python generate.py``target/release/rustdesk-portable-packer.exe`
→ копия в `dist/rustdesk-<tag>-install.exe`.
### Разрешённый вопрос: flutter-engine
Стоковый Flutter 3.24.5 x64 engine отработал — `flutter build windows` собрался БЕЗ кастомного
`windows-x64-release.zip` (тот нужен апстриму только для Win7). Для Win10/11 подмена не требуется.
## Android toolchain (VM 118, позже)
Flutter 3.24.5, NDK r28c, cargo-ndk 3.1.2, Rust android-таргеты, vcpkg android-триплеты