Files
USB_installer/README.md
T
2026-11-08 23:25:03 +03:00

79 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Установщик флешки 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` (оставшийся объём).
- Если рядом с установщиком есть `WindowsESD.pf`, после `Data.pf` он
распаковывается на раздел DATA (статус «Распаковка Windows ESD»).
- Галочка «Не копировать Windows ESD» (по умолчанию снята) пропускает
распаковку `WindowsESD.pf`. Если файла нет, галочка неактивна и
распаковка пропускается; если файл не является WIM — ошибка
«WindowsESD.pf повреждён».
- Отключённый диск переводится в онлайн перед разметкой.
- Проверка разметки по таблице разделов и меткам томов.
- Распаковка 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).