Windows Setup by Paravis — C++ port
Native Win32 port of Windows_installer_NEW\setup.au3.
Build
Requirements: Visual Studio 2022 (Desktop C++) and CMake 3.20+.
build.cmd
Outputs:
build_x64\Release\setup_x64.exe
build_x86\Release\setup_x86.exe
The executables use a static CRT, are GUI subsystem, and use the same
asInvoker manifest / Common Controls 6 as the AutoIt builds.
Preview
setup_x64.exe /previewor an executable namedsetup_preview*.exestarts preview mode: fixed 307×259 position, all buttons enabled, nosrc_*.exehelper, preview wallpaper.- The ported
setup_preview.exein..\Windows_installer_NEWis the x64 build used this way.
Deployment
On a PARAVIS flash the two Windows Setup WIMs are:
\efi\Paravis\Boot\ws64.wim, image 1,\Windows\Setup.exe— x64 build\efi\Paravis\Boot\ws86.wim, image 1,\Windows\Setup.exe— x86 build
Winpeshl.ini in both WIMs already launches %SYSTEMROOT%\setup.exe.
The launcher starts the real setup from X:\sources\setup.exe.
The window is layered with color key 0xABCDEF. The Montserrat fonts are
embedded as RCDATA; the 1024×768 wallpaper is embedded as a lossless PNG and
decoded with GDI+ at startup. This keeps each executable around 1 MB.
The UI is the same 376/410/360-wide layout as the AutoIt version, with native
buttons. GDI+ and ole32 are standard components of the Windows Setup boot.wim
(verified in the target image).
Behaviour
- Searches all drives for
\WindowsESD\NOT.DELor\efi\Paravis\Windows\NOT.DEL. - Warns and exits if both image folders are present.
- Finds
\efi\Paravis\Boot\NOT.DELforsrc_x64.exe/src_x86.exeand Total Commander. - Uses
%WINDIR%\SYSWOW64to select the x64 UI;firmware_typeselects Legacy vs UEFI for the x86 UI. - Builds the same
X:\sources\setup.exe /installfrom:... /m:... [/unattend:...]command lines as AutoIt. - Disables Windows buttons when the corresponding ESD image is missing.
- Reboot button exits the launcher (the WinPE startup script performs the reboot).
- Debug log: set
PARAVIS_DEBUG_LOG=1to write%TEMP%\winsetup_cpp_debug.log.
Repository layout
src/ C++ sources and resources
assets/ fonts, wallpapers and UI images (incl. Montserrat OFL)
legacy-au3/ original AutoIt scripts
app.rc resource script
app.manifest application manifest
build.cmd release build (x64 + x86)
License
MIT for the program code. See LICENSE.
Montserrat is licensed under the SIL Open Font License 1.1; see
assets/OFL.txt and THIRD-PARTY.md.
This repository contains source code only. Windows installation images
(*.wim, *.esd, Data.pf), Microsoft font derivatives and third-party
binaries are not distributed here.