74 lines
3.3 KiB
Markdown
74 lines
3.3 KiB
Markdown
# Установщик 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
|
||
```
|