hermes-hub/installer
Hermes Team 57e7ca2edd fix: проверка готовности всегда врала, установщик показывал зашитую версию
Три дефекта, найденные при установке владельцем на две машины.

1. Linux: лаунчер писал «Web server failed to respond», хотя сервер
   поднимался нормально — в логе старт API, планировщик квот и прогрев
   кэша без ошибок. Причина в самой проверке: sys импортировался ТОЛЬКО
   внутри except, а использовался в успешной ветке. На здоровом ответе
   возникал NameError, его ловил тот же except, и проверка всегда
   возвращала отказ.
   Доказано исполнением на живом сервере: старая логика -> код 1,
   новая -> код 0.

2. Windows: при нечитаемом манифесте мастер показывал зашитые
   InstalledVersion = "0.1.0" и InstalledDate = "19.08.2026" как факт.
   Владелец видел «старую версию» на свежей установке, хотя проверка
   показала правильный путь и версию 0.1.1. Заглушки заменены на
   «не определена» — выдуманный факт хуже отсутствующего.

3. Манифест писался одним File.WriteAllText: прерванная запись оставляла
   пустой файл, и разбор версии падал на первом символе — ровно это и
   случилось у владельца (JSONDecodeError, char 0). Запись переведена на
   временный файл с переносом.

Попутно: git_commit в манифесте был зашит как "8cddc9f", то есть манифест
сообщал неправду о происхождении сборки. Теперь сборщик проставляет
фактический коммит.

Тесты: 373 passed, ruff чисто. Установщик пересобран.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-24 09:47:00 +07:00
..
build_installer.ps1 fix: проверка готовности всегда врала, установщик показывал зашитую версию 2026-08-24 09:47:00 +07:00
HermesHubSetup.cs fix: проверка готовности всегда врала, установщик показывал зашитую версию 2026-08-24 09:47:00 +07:00
HermesHubSetup.py feat(installer): implement P0-4bis reinstall detection, UI screen, and user data preservation 2026-08-22 21:25:39 +07:00
install-linux.sh feat(installer): A19 — установщики Windows и Linux, запуск веб-интерфейса окном приложения 2026-08-23 22:14:47 +07:00
README.md feat: production update feed architecture, host allowlist, and truthful release gate 2026-08-20 17:25:30 +07:00
uninstall-linux.sh feat(installer): A19 — установщики Windows и Linux, запуск веб-интерфейса окном приложения 2026-08-23 22:14:47 +07:00

Hermes Hub — Installer Architecture

Canonical Windows Installer

  • Canonical Binary: HermesHubSetup.exe (built from HermesHubSetup.cs)
  • Build Script: build_installer.ps1 (compiles HermesHubSetup.cs using standard .NET Framework csc.exe present on all Windows 10/11 machines without extra toolchains).

Development & Helper Scripts

  • HermesHubSetup.py: Internal development helper script for testing installer logic in Python. Not distributed as a primary installer artifact.
  • install.ps1: Deprecated legacy bootstrap script for earlier development environments.

Testing Policy (S7)

  • Unit Tests: Must NEVER modify user Windows Registry (HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall) or Start Menu shortcuts.
  • Integration Tests: Executed against isolated sandbox mock directories.
  • Live VM Tests: Real Windows installer execution is reserved for disposable CI/VM environments.