Add Windows build cheat sheet
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
This commit is contained in:
Umbrix Developer
2026-01-19 20:40:39 +03:00
parent 8d55a2629c
commit c27dfbfba7

View File

@@ -0,0 +1,110 @@
# Windows Build Cheat Sheet
## 🚀 Быстрая сборка (на Windows машине)
```powershell
# 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
```powershell
# Переименовать для релиза
$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"
```
## ✅ Тестирование автообновлений
```powershell
# 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](WINDOWS_DISTRIBUTOR_BUILD.md)
- **Подпись кода:** [CODE_SIGNING_WINDOWS.md](CODE_SIGNING_WINDOWS.md)
- **Ручная сборка:** [WINDOWS_BUILD_INSTRUCTIONS.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](CODE_SIGNING_WINDOWS.md)
## 🎯 Итого
**Одна команда → Один .exe файл → Готово к релизу**
```powershell
dart run flutter_distributor package --platform windows --targets exe
```
Всё остальное делается автоматически! 🚀