Files
USB_installer/README.md
T
2026-11-07 20:46:28 +03:00

3.6 KiB

Установщик флешки 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 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.

В репозитории только исходный код. Архивы установки (Data.pf), образы Windows (*.wim, *.esd) и сторонние бинарники не распространяются.