Files
Inv_web/CLIENT_AGENT_V2_INSTALLER.md
2026-08-10 14:25:45 +03:00

74 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Установщик Inv_web Client v2 для Windows
Установщик поддерживает три режима:
1. **Автоматический с RustDesk** — устанавливает клиент и RustDesk без задания
собственного сервера. Фиксированный пароль можно задать или оставить пустым.
2. **Ручной с сервером RustDesk** — устанавливает клиент и RustDesk, запрашивает
`Сервер ID`, `Ретранслятор`, публичный `Key` и необязательный фиксированный пароль.
3. **Без RustDesk** — устанавливает только клиент Inv_web и не изменяет уже
установленный RustDesk.
Во всех режимах установщик также запрашивает:
- адрес сервера;
- токен клиента.
После установки параметры передаются клиенту и сохраняются в:
```text
%APPDATA%\InvWebClientAgentV2\config.json
```
## Требования для сборки
- Windows 10/11 x64;
- классический CPython 3.13 x64 с Tcl/Tk;
- [Inno Setup 6](https://jrsoftware.org/isdl.php).
- официальный установщик RustDesk для Windows x64.
Перед сборкой переименуйте установщик RustDesk в `rustdesk.exe` и положите его в:
```text
installer\prerequisites\rustdesk.exe
```
Минимальный runtime из нового Python Install Manager не подходит для сборки,
поскольку не содержит Tcl/Tk. Если обычный CPython 3.13 не найден, BAT-файл
попытается установить официальный пакет `Python.Python.3.13` через `winget`.
## Сборка
Запустите:
```bat
build_client_agent_v2_installer_windows.bat
```
Готовый установщик:
```text
dist\Inv_web_Client_Setup.exe
```
При сборке клиент формируется в формате `onedir` и целиком включается в Inno
Setup. Это исключает распаковку Tcl/Tk во временный каталог `_MEI...` при запуске.
Сценарий сборки отдельно проверяет наличие `_tcl_data\init.tcl` и
`_tk_data\tk.tcl`, а затем запускает клиент с `--help` как smoke-тест. Поэтому
установщик не будет создан с неполным или не запускающимся Tkinter.
Для тихой установки и настройки службы RustDesk мастер запрашивает права
администратора. Клиент устанавливается в каталог:
```text
%LOCALAPPDATA%\Programs\Inv_web Client
```
Сценарий настройки проверяет, что адрес ID-сервера, ретранслятор и ключ были
фактически сохранены RustDesk, после чего перезапускает его службу. Диагностический
журнал установки RustDesk сохраняется здесь:
```text
%ProgramData%\Inv_web Client\rustdesk-install.log
```