Files
Windows_installer/README.md
T
2026-11-07 20:48:15 +03:00

83 lines
3.7 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.
# Установщик 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).