Files
2026-11-07 20:48:15 +03:00

3.7 KiB
Raw Permalink Blame History

Установщик Windows PARAVIS

Нативная Win32-версия Windows_installer_NEW\setup.au3 на C++.

Сборка

Требования: Visual Studio 2022 (Desktop C++) и CMake 3.20+.

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.

Montserrat распространяется по SIL Open Font License 1.1, см. assets/OFL.txt и THIRD-PARTY.md.