Files
USB_installer/README.md
T

2.4 KiB
Raw Blame History

Paravis installer — C++ port

Native Win32 port of USBInstaller\usb-install.au3 with the same layout, behaviour and data flow.

Build

Requirements:

  • Visual Studio 2022 with the Desktop C++ workload
  • CMake 3.20 or newer

From this directory run:

build.cmd

The executable is produced at:

build\Release\ParavisInstaller.exe

The target is 32-bit (Win32) like the original AutoIt build, and the application manifest requests administrator rights.

What is implemented

  • 376 × 183 custom-drawn window, header, custom disk dropdown, status line, progress bar, install/cancel button and hover/pressed states.
  • USB disk enumeration by storage bus type, nominal size formatting and Windows-system-disk protection.
  • Diskpart layout: FAT32 PARAVIS 16 GB, FAT VTOYEFI 32 MB, exFAT DATA (remaining space minus 3 MB).
  • Offline disk is brought online before partitioning.
  • Layout verification from the partition table and volume labels.
  • DISM apply of images 1 → PARAVIS, 2 → VTOYEFI, 3 → DATA with progress parsing and cancellation of the DISM process tree.
  • Pressing the cancel button during installation asks for confirmation first.
  • VTOYEFI drive letter removal after a successful install.
  • Success warning, launch of Change_BootLoader.exe from the PARAVIS partition, then immediate exit.
  • If a Change_BootLoader.exe is present next to the installer, it is copied to the PARAVIS partition after unpacking and used instead of the copy from Data.pf.
  • Service modes: /selftest, /verify=N, /testdisk=N, /wim=path.

Notes

  • Data.pf is searched next to the executable, exactly like the AutoIt version. /wim= remains a service/testing override.
  • DISM command lines are built without the outer cmd /c "..." quote pair, so paths containing spaces work correctly.
  • The debug log is disabled by default. Set the environment variable PARAVIS_DEBUG_LOG=1 to write %TEMP%\paravis_cpp_debug.log.
  • Message boxes use the native MessageBoxW dialog; text, buttons and behavior are the same as the AutoIt version.

Repository layout

src/            C++ sources and resources
legacy-au3/     original AutoIt script
build.cmd       release build

License

MIT. See LICENSE.

This repository contains source code only. Installation archives (Data.pf), Windows images (*.wim, *.esd) and third-party binaries are not distributed here.