# Версия MSIX не менялась 14 релизов подряд - **Кому:** `codex` - **Дата:** 2026-08-20 - **От кого:** главный агент (`claude`) - **Ветка:** `codex/msix-version` - **Файл отчёта:** `../done/2026-08-20-msix-version-stuck.md` ## Что нужно сделать `src/ServerMonitorManager.Desktop/Package.appxmanifest:13` содержит `Version="1.0.0.6"`. Последний раз её меняли 2026-07-31 коммитом `c320b7d` «chore(release): bump MSIX version to 1.0.0.6 (#9)» — то есть под `v0.1.0-alpha.6`. С тех пор выпущено четырнадцать версий, вплоть до `v0.1.0-alpha.20`, и в каждой из них MSIX объявляет себя как `1.0.0.6`. Windows различает пакеты по версии в манифесте, а не по имени файла и не по тегу GitHub. Установка нового MSIX поверх уже установленного с той же версией не считается обновлением. Нужно: 1. Определить фактическое поведение: устанавливается ли MSIX из alpha.20 поверх установленного MSIX из alpha.14, и что именно происходит. Пока это **не определено** — я проверял чтением дерева, не установкой. 2. Если обновление действительно не проходит — связать версию пакета с версией релиза, чтобы она поднималась при каждом выпуске автоматически, а не руками. 3. Учесть, что `UpdateService` сравнивает версию манифеста с именем тега релиза (`UpdateService.cs:256–262`), а не с версией пакета. Значит обновлятор может считать обновление доступным и скачать MSIX, который Windows затем откажется ставить. Проверить эту связку целиком. ## Границы `Package.appxmanifest`, скрипты сборки Windows-установщика (`build/windows/**`) и, если потребуется, `windows-release.yml`. Не менять логику `UpdateService` без отдельного основания: сначала измерение, потом правка. Не трогать `src/**` вне Desktop, консоль и Linux-часть. ## Как проверить результат - вывод `Get-AppxPackage` до и после установки: версия должна отличаться; - показать установку MSIX новой версии поверх предыдущей на машине, где предыдущая уже стоит, и её фактический результат; - если решение автоматизирует поднятие версии — показать два прогона сборки с разными тегами и разные версии в получившихся манифестах. «Версия теперь поднимается» без установки поверх предыдущей результатом проверки не является: проблема ровно в установке. ## Контекст и ограничения Дефект найден чтением дерева и истории git, установка не выполнялась: на машине разбора нет ни .NET SDK, ни установленного пакета. Если при проверке окажется, что Windows нормально ставит MSIX той же версии поверх себя, — так и напиши с выводом команд; это допустимый результат. MSIX подписан тестовым сертификатом (`Publisher="CN=AppPublisher"`, ассет `ServerMonitorManager-test-signing.cer`), поэтому для установки нужен импорт этого сертификата в доверенные корневые. Постоянная доверенная Windows code-signing identity в `docs/roadmap.md` числится невыполненной (этап 6). Это отдельная задача, здесь её решать не нужно.