Files
USB_installer/README.md
T

75 lines
2.4 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 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.