# Установщик флешки PARAVIS Нативная Win32-версия `USBInstaller\usb-install.au3` на C++ с той же разметкой, поведением и потоком данных. ## Сборка Требования: - Visual Studio 2022 с рабочей нагрузкой Desktop C++; - CMake 3.20 или новее. Из этого каталога: ```bat build.cmd ``` Результат: ``` build\Release\ParavisInstaller.exe ``` Цель 32-битная (`Win32`), как и оригинальная сборка на AutoIt; манифест запрашивает права администратора. ## Что реализовано - Окно 376×183 с собственной отрисовкой: шапка, выпадающий список дисков, строка состояния, индикатор прогресса, кнопка установки/отмены и состояния наведения/нажатия. - Перечисление USB-дисков по типу шины, форматирование номинального размера и защита системного диска Windows. - Разметка через diskpart: FAT32 `PARAVIS` 16 ГБ, FAT `VTOYEFI` 32 МБ, exFAT `DATA` (остаток минус 3 МБ). - Отключённый диск переводится в онлайн перед разметкой. - Проверка разметки по таблице разделов и меткам томов. - Распаковка DISM: образ 1 → `PARAVIS`, 2 → `VTOYEFI`, 3 → `DATA`, с разбором прогресса и остановкой дерева процессов DISM при отмене. - Нажатие «Отмена» во время установки сначала запрашивает подтверждение. - После успешной установки буква диска `VTOYEFI` удаляется. - Предупреждение об успехе, запуск `Change_BootLoader.exe` с раздела PARAVIS и немедленный выход. - Если рядом с установщиком есть `Change_BootLoader.exe`, он копируется на раздел PARAVIS после распаковки и используется вместо копии из `Data.pf`. - Служебные режимы: `/selftest`, `/verify=N`, `/testdisk=N`, `/wim=путь`. ## Примечания - `Data.pf` ищется рядом с exe, как и в AutoIt-версии. `/wim=` остаётся служебным/тестовым переопределением. - Командные строки DISM собираются без внешней пары кавычек `cmd /c "..."`, поэтому пути с пробелами работают корректно. - Отладочный лог по умолчанию выключен. Переменная `PARAVIS_DEBUG_LOG=1` включает запись в `%TEMP%\paravis_cpp_debug.log`. - Диалоги — нативный `MessageBoxW`; тексты, кнопки и поведение совпадают с AutoIt-версией. ## Структура репозитория ``` src/ исходники и ресурсы C++ legacy-au3/ исходная версия на AutoIt build.cmd сборка релиза ``` ## Лицензия MIT, см. [`LICENSE`](LICENSE). В репозитории только исходный код. Архивы установки (`Data.pf`), образы Windows (`*.wim`, `*.esd`) и сторонние бинарники не распространяются.