Some checks failed
Upload store MSIX to release / upload-store-msix-to-release (push) Has been cancelled
Quick reference for building Windows installer: - 4 simple commands to build .exe - Upload to Gitea instructions - Testing auto-update process - Troubleshooting common errors - Links to detailed documentation
3.8 KiB
3.8 KiB
Windows Build Cheat Sheet
🚀 Быстрая сборка (на Windows машине)
# 1. Клонировать репозиторий
git clone --recursive https://update.umbrix.net/vodorod/umbrix.git
cd umbrix
# 2. Скачать и заменить libcore.dll
curl -L -o libcore.tar.gz "https://update.umbrix.net/vodorod/umbrix-libcore/releases/download/v1.7.0-umbrix/libcore-windows-amd64-umbrix.tar.gz"
tar -xzf libcore.tar.gz
Copy-Item libcore.dll -Destination libcore\bin\libcore.dll -Force
# 3. Установить flutter_distributor (один раз)
dart pub global activate flutter_distributor
# 4. СОБРАТЬ УСТАНОВЩИК
dart run flutter_distributor:main package --platform windows --targets exe --skip-clean
# ✅ Результат: dist\1.7.3+173\umbrix-setup-x64.exe (~60MB)
📦 Что получается?
Один .exe файл который содержит:
- umbrix.exe (основное приложение)
- Flutter runtime
- libcore.dll (45MB VPN ядро)
- WebUI
- Все зависимости
- Установщик Inno Setup
📤 Загрузка в Gitea
# Переименовать для релиза
$version = "1.7.3"
$file = "dist\$version+173\umbrix-setup-x64.exe"
$newName = "umbrix-$version-windows-setup-x64.exe"
Copy-Item $file $newName
# Загрузить
$token = "YOUR_GITEA_TOKEN"
$releaseId = 1
curl -X POST "https://update.umbrix.net/api/v1/repos/vodorod/umbrix/releases/$releaseId/assets?name=$newName" `
-H "Authorization: token $token" `
-H "Content-Type: application/octet-stream" `
--data-binary "@$newName"
✅ Тестирование автообновлений
# 1. Установить старую версию (например 1.7.0)
.\umbrix-1.7.0-windows-setup-x64.exe
# 2. Запустить приложение
# Через 5 секунд появится уведомление об обновлении
# 3. Нажать "Обновить"
# Автоматически скачается, установится, перезапустится
# 4. Проверить версию
# Должна быть 1.7.3
🔧 Требования
- Windows 10/11
- Flutter 3.24.0+
- Visual Studio 2022 с C++
- Inno Setup 6.x+ (https://jrsoftware.org/isdl.php)
📚 Документация
- Полная инструкция: WINDOWS_DISTRIBUTOR_BUILD.md
- Подпись кода: CODE_SIGNING_WINDOWS.md
- Ручная сборка: WINDOWS_BUILD_INSTRUCTIONS.md
⚠️ Частые ошибки
"Failed to lookup symbol 'changeHiddifyOptions'" → Используйте libcore.dll из umbrix-libcore, НЕ из оригинального Hiddify
"Inno Setup not found" → Установите Inno Setup и добавьте в PATH
"flutter_distributor command not found"
→ dart pub global activate flutter_distributor
→ Добавьте C:\Users\YOUR_NAME\AppData\Local\Pub\Cache\bin в PATH
💡 Сертификат кода
Не обязателен для работы!
- Без сертификата: Windows показывает предупреждение, но приложение работает
- С сертификатом: Нет предупреждений, "Проверенный издатель"
- Цена: $299-799/год (DigiCert, Sectigo, Certum)
- Подробности: CODE_SIGNING_WINDOWS.md
🎯 Итого
Одна команда → Один .exe файл → Готово к релизу
dart run flutter_distributor package --platform windows --targets exe
Всё остальное делается автоматически! 🚀