2 changed files with 78 additions and 0 deletions
@ -0,0 +1,70 @@
|
||||
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: установка, запуск обычным пользователем, |
||||
сообщения/звуки/медиа, обновление с сохранением идентичности, удаление, |
||||
повторная установка. Проверить пути с пробелами и имя пользователя с кириллицей. |
||||
Loading…
Reference in new issue