# Установщик Windows PARAVIS Нативная Win32-версия `Windows_installer_NEW\setup.au3` на C++. ## Сборка Требования: Visual Studio 2022 (Desktop C++) и CMake 3.20+. ```bat build.cmd ``` Результат: ``` build_x64\Release\setup_x64.exe build_x86\Release\setup_x86.exe ``` Исполняемые файлы используют статическую CRT, GUI-подсистему и тот же манифест `asInvoker` / Common Controls 6, что и сборки на AutoIt. ## Предпросмотр - `setup_x64.exe /preview` или файл с именем `setup_preview*.exe` запускает режим предпросмотра: фиксированная позиция 307×259, все кнопки активны, без помощника `src_*.exe`, обои предпросмотра. - `build_x64\Release\setup_x64.exe`, переименованный в `setup_preview.exe`, используется именно так. ## Размещение на флешке Два образа Windows Setup на флешке PARAVIS: - `\efi\Paravis\Boot\ws64.wim`, образ 1, `\Windows\Setup.exe` — сборка x64; - `\efi\Paravis\Boot\ws86.wim`, образ 1, `\Windows\Setup.exe` — сборка x86. `Winpeshl.ini` в обоих WIM уже запускает `%SYSTEMROOT%\setup.exe`. Запускается настоящий Setup из `X:\sources\setup.exe`. Окно использует цветовой ключ `0xABCDEF`. Шрифты Montserrat встроены как ресурсы `RCDATA`; обои 1024×768 встроены как PNG без потерь и декодируются через GDI+ при запуске. Поэтому каждый exe весит около 1 МБ. Разметка UI та же, что в AutoIt-версии (376/410/360 по ширине), кнопки нативные. GDI+ и ole32 входят в стандартный Windows Setup boot.wim (проверено в целевом образе). ## Поведение - Ищет `\WindowsESD\NOT.DEL` или `\efi\Paravis\Windows\NOT.DEL` на всех дисках. - Предупреждает и выходит, если найдены обе папки с образами. - Находит `\efi\Paravis\Boot\NOT.DEL` для `src_x64.exe` / `src_x86.exe` и Total Commander. - Использует `%WINDIR%\SYSWOW64` для выбора x64-интерфейса; `firmware_type` выбирает Legacy или UEFI для x86-интерфейса. - Собирает те же командные строки `X:\sources\setup.exe /installfrom:... /m:... [/unattend:...]`, что и AutoIt. - Отключает кнопки Windows, если соответствующий образ ESD отсутствует. - Кнопка перезагрузки завершает программу (перезагрузку выполняет стартовый скрипт WinPE). - Отладочный лог: `PARAVIS_DEBUG_LOG=1` включает запись в `%TEMP%\winsetup_cpp_debug.log`. ## Структура репозитория ``` src/ исходники C++ assets/ шрифты, обои и элементы интерфейса (включая Montserrat OFL) legacy-au3/ исходные скрипты AutoIt app.rc скрипт ресурсов app.manifest манифест приложения build.cmd сборка релиза (x64 + x86) ``` ## Лицензия Код — MIT, см. [`LICENSE`](LICENSE). Montserrat распространяется по SIL Open Font License 1.1, см. [`assets/OFL.txt`](assets/OFL.txt) и [`THIRD-PARTY.md`](THIRD-PARTY.md). В репозитории только исходный код. Образы установки Windows (`*.wim`, `*.esd`, `Data.pf`), производные шрифтов Microsoft и сторонние бинарники не распространяются.