3.9 KiB
Установщик 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.
В репозитории только исходный код. Образы установки Windows (*.wim,
*.esd, Data.pf), производные шрифтов Microsoft и сторонние бинарники не
распространяются.