5.0 KiB
Установщик Inv_web Client v2 для Windows
Установщик поддерживает три режима:
- Автоматический с RustDesk — устанавливает клиент и RustDesk без задания собственного сервера. Фиксированный пароль можно задать или оставить пустым.
- Ручной с сервером RustDesk — устанавливает клиент и RustDesk, запрашивает
Сервер ID,Ретранслятор, публичныйKeyи необязательный фиксированный пароль. - Без RustDesk — устанавливает только клиент Inv_web и не изменяет уже установленный RustDesk.
Во всех режимах установщик также запрашивает адрес сервера. Служебный токен пользователь больше не вводит: клиент автоматически сохраняет встроенный токен, совпадающий с токеном серверной части.
После установки параметры подключения сохраняются в:
%APPDATA%\InvWebClientAgentV2\config.json
Требования для сборки
- Windows 10/11 x64;
- классический CPython 3.13 x64 с Tcl/Tk;
- Inno Setup 6.
- официальный установщик RustDesk для Windows x64.
Перед сборкой переименуйте установщик RustDesk в rustdesk.exe и положите его в:
installer\prerequisites\rustdesk.exe
Минимальный runtime из нового Python Install Manager не подходит для сборки, поскольку не содержит Tcl/Tk. BAT-файл проверяет не только версию Python, но и наличие рабочих файлов Tcl/Tk. Если подходящий CPython 3.13 не найден, сценарий:
- пытается установить
Python.Python.3.13черезwinget; - повторно проверяет Tcl/Tk;
- если подходящий Python всё ещё не найден, скачивает официальный полный
установщик CPython 3.13.15 x64,
проверяет его SHA-256 и тихо устанавливает для текущего пользователя с
компонентами Tcl/Tk и
pip.
Для резервной загрузки требуется доступ к python.org. Добавлять Python в
PATH и удалять уже установленные версии не требуется.
Сборка
Запустите:
build_client_agent_v2_installer_windows.bat
Готовый установщик:
dist\Inv_web_Client_Setup.exe
При сборке клиент формируется в формате onedir и целиком включается в Inno
Setup. Это исключает распаковку Tcl/Tk во временный каталог _MEI... при запуске.
Сценарий сборки отдельно проверяет наличие _tcl_data\init.tcl и
_tk_data\tk.tcl, а затем запускает клиент с --help как smoke-тест. Поэтому
установщик не будет создан с неполным или не запускающимся Tkinter.
Для тихой установки и настройки службы RustDesk мастер запрашивает права администратора. Клиент устанавливается в каталог:
%LOCALAPPDATA%\Programs\Inv_web Client
Сценарий настройки проверяет, что адрес ID-сервера, ретранслятор и ключ были фактически сохранены RustDesk, после чего перезапускает его службу. Диагностический журнал установки RustDesk сохраняется здесь:
%ProgramData%\Inv_web Client\rustdesk-install.log
Перед обновлением сценарий автоматически закрывает уже открытое пользовательское
окно RustDesk, не затрагивая процесс службы. Он ожидает полного завершения тихой
установки, но самостоятельно закрывает появившееся окно RustDesk, поэтому оно не
задерживает установщик клиента. Для службы используется только системная копия из
Program Files; служба с устаревшим или некорректным путём пересоздаётся.