# 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: ```bat 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`](LICENSE). This repository contains source code only. Installation archives (`Data.pf`), Windows images (`*.wim`, `*.esd`) and third-party binaries are not distributed here.