Windows-инсталлятор VibeChat =========================== Требования к компьютеру сборки ----------------------------- Обычные зависимости ChatGUI в MSYS2 UCRT64 (Qt, CMake/Ninja, OpenSSL и т.д.) и Inno Setup 6.3 или новее: https://jrsoftware.org/isdl.php Inno Setup нужен только для сборки, пользователю приложения он не требуется. ISCC.exe ищется в PATH и стандартных каталогах Program Files. Для нестандартной установки задайте в CMD перед сборкой: set "ISCC=D:\Tools\Inno Setup 6\ISCC.exe" Создание инсталлятора -------------------- Из корня репозитория: tools\chatgui\build.bat только ChatGUI и его инсталлятор build.bat ядро, тесты, ChatGUI и его инсталлятор build_full.bat полная сборка и инсталлятор BAT-скрипты автоматически включают --installer. Отсутствие Inno Setup или ошибка упаковки завершают сборку с ненулевым кодом, даже при выводе через tee. Корневые BAT собирают ChatGUI и при отсутствии предыдущего CMakeCache.txt. Из UCRT64 shell можно запускать вручную: cd tools/chatgui bash build.sh --installer -j4 Или повторно упаковать уже готовый Windows-комплект: cd tools/chatgui bash package_win.sh Результат: tools\chatgui\build\installer\VibeChat-<версия>-win64-setup.exe Версия берётся из project(vibechat VERSION ...) в CMakeLists.txt. --installer задаёт Release; без этого флага поведение shell-сборки прежнее. Логи: tools\chatgui\build_win.log, а для корневых BAT также build_win.log или build_full.log в корне. Итоговый путь печатается после успеха компилятора. Состав и поведение ------------------ Комплект включает EXE, фактически импортируемые DLL, Qt-плагины Windows/JPEG/WebP с их зависимостями и лицензии. Проверяются x64 PE-формат и полнота зависимостей. Конфиги, ключи, базы, медиа, логи, lock-файлы, тесты и старые DLL из build не включаются. Ошибка компилятора не считается успехом из-за старого setup.exe. Установка: Windows 10/11 с поддержкой x64, Program Files\VibeChat, права администратора для установки и настройки firewall. Создаются ярлык в меню Пуск и необязательный ярлык на рабочем столе; после установки приложение запускается от исходного пользователя. Входящие подключения разрешаются правилом "VibeChat (installer)" только для установленного EXE. При обновлении установщик предлагает закрыть приложение, использующее EXE/DLL. Обновление и удаление сохраняют конфиг, ключи, историю и медиа пользователя. Деинсталлятор удаляет своё правило firewall и установленные файлы программы. Журналы установки/удаления и вывод netsh сохраняются средствами Inno Setup; для явного пути журнала используйте /LOG="C:\path\setup.log". Проверки -------- На Linux/Unix: python3 tools/chatgui/tests/test_windows_installer.py Тест запускает настоящие скрипты с подставленными objdump/pacman/ISCC: проверяет комплект, ошибки, повторную упаковку и GUI-флаг --installer. Корневой флаг проверяет python3 tests/test_build_script.py build.sh. Это не заменяет проверку настоящего Inno-компилятора и установщика на Windows. На чистой Windows без MSYS2/Qt: установка, запуск обычным пользователем, сообщения/звуки/медиа, обновление с сохранением идентичности, удаление, повторная установка. Проверить пути с пробелами и имя пользователя с кириллицей.