8bbab637b5e0a94f0ccb209a8b50f0b7e032391f
Установщик флешки PARAVIS
Нативная Win32-версия USBInstaller\usb-install.au3 на C++ с той же
разметкой, поведением и потоком данных.
Сборка
Требования:
- Visual Studio 2022 с рабочей нагрузкой Desktop C++;
- CMake 3.20 или новее.
Из этого каталога:
build.cmd
Результат:
build\Release\ParavisInstaller.exe
Цель 32-битная (Win32), как и оригинальная сборка на AutoIt; манифест
запрашивает права администратора.
Что реализовано
- Окно 376×183 с собственной отрисовкой: шапка, выпадающий список дисков, строка состояния, индикатор прогресса, кнопка установки/отмены и состояния наведения/нажатия.
- Перечисление USB-дисков по типу шины, форматирование номинального размера и защита системного диска Windows.
- Разметка через diskpart: FAT32
PARAVIS16 ГБ, FATVTOYEFI32 МБ, exFATDATA(оставшийся объём). - Если рядом с установщиком есть
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.
Releases
1
v2.0 — только исходники
Latest
Languages
C++
63.3%
AutoIt
35.7%
CMake
0.8%
Batchfile
0.2%