Files
Inv_web/CLIENT_AGENT_V2_INSTALLER.md
2026-08-11 15:07:16 +03:00

4.1 KiB
Raw 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