Files
Inv_web/CLIENT_AGENT_V2_INSTALLER.md
2026-08-12 11:00:10 +03:00

5.0 KiB
Raw Permalink Blame History

Установщик Inv_web Client v2 для Windows

Установщик поддерживает три режима:

  1. Автоматический с RustDesk — устанавливает клиент и RustDesk без задания собственного сервера. Фиксированный пароль можно задать или оставить пустым.
  2. Ручной с сервером RustDesk — устанавливает клиент и RustDesk, запрашивает Сервер ID, Ретранслятор, публичный Key и необязательный фиксированный пароль.
  3. Без 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 не найден, сценарий:

  1. пытается установить Python.Python.3.13 через winget;
  2. повторно проверяет Tcl/Tk;
  3. если подходящий 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; служба с устаревшим или некорректным путём пересоздаётся.