# MCRtool 0.2 — проверка выпуска

Автоматически проверено в среде Linux:

- Сборка GUI с совместимостью C# 5 и предупреждениями как ошибками.
- Сборка нативного Recovery x64 с `-Wall -Wextra -Werror`.
- Тесты нормализации XML заданий: изменение Enabled допустимо,
  изменение команды/аргументов не допускает восстановление старого состояния.
- Проверка запрета DTD/XML entity при чтении XML.
- Проверка экранирования CSV и сериализации резервных копий.
- Проверка формата PE и импортов нативного файла.
- Целостность ZIP и SHA-256 файлов выпуска.

Ни Windows 10/11, ни настоящая WinRE в этой среде не запускались.
Работа COM Task Scheduler и реестра Windows требует проверки на Windows.

## Приёмочная проверка в виртуальных машинах

Используйте снимок VM и отдельного тестового пользователя.

1. Windows 10 x64 и Windows 11 x64: MCRtool.exe открывается из распакованного
   архива без установки; флажки исправлений изначально сняты.
2. Поиск: создайте файлы с кириллицей, пробелами и одинаковыми именами,
   запретите доступ к одной папке, добавьте junction. Постройте индекс:
   запрет доступа отмечен, junction пропущен, фильтр без учёта регистра работает.
3. Сравните SHA-256 одного файла с `certutil -hashfile "путь" SHA256`.
   Проверьте CSV, остановку индексирования и повторный обход после новых файлов.
4. Создайте тестовое задание с безвредной командой, отключённое и скрытое.
   Проверьте обнаружение, XML, включение/отключение и обратное восстановление.
   Отключение задания не должно завершать уже работающий процесс.
5. Измените действие задания через системный редактор. Восстановление
   состояния из предыдущей копии должно отказаться менять новое определение.
6. Нет прав на задание или папку резервных копий: показать ошибку,
   не сообщать об успехе и не менять задание без сохранённой копии.
7. В WinRE x64: на записываемой USB запустите Recovery --help и drives.
   Укажите правильную букву установленной Windows; неправильный путь
   должен быть отвергнут. Заблокированный BitLocker-том сначала разблокируйте.
8. В тестовом офлайн NTUSER.DAT установите DisableTaskMgr=1. Запустите
   repair-user ... taskmgr, подтвердите YES, проверьте наличие value.mcrb
   и NTUSER-before.hiv. После перезапуска Windows запрет должен исчезнуть.
9. Вернитесь в WinRE, выполните restore-user с value.mcrb. Должно вернуться
   исходное значение. Остальные значения профиля не должны меняться.
10. В обычной Windows repair-user/restore-user должны отказать, потому
    что эти команды предназначены исключительно для WinRE/WinPE.
11. Неверная или обрезанная резервная копия, копия другого пути профиля,
    недоступная флешка: отказ до изменения выбранного значения.

WinRE ARM64/x86, профили на другом томе, длинные пути от 260 символов
и офлайн-изменение планировщика этой версией не поддерживаются.
