71 lines
4.9 KiB
Plaintext
71 lines
4.9 KiB
Plaintext
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: установка, запуск обычным пользователем,
|
||
сообщения/звуки/медиа, обновление с сохранением идентичности, удаление,
|
||
повторная установка. Проверить пути с пробелами и имя пользователя с кириллицей.
|