diff --git a/README.md b/README.md index b49acd6..5c2fed3 100644 --- a/README.md +++ b/README.md @@ -1,85 +1,86 @@ -# Windows Setup by Paravis — C++ port +# Установщик Windows PARAVIS -Native Win32 port of `Windows_installer_NEW\setup.au3`. +Нативная Win32-версия `Windows_installer_NEW\setup.au3` на C++. -## Build +## Сборка -Requirements: Visual Studio 2022 (Desktop C++) and CMake 3.20+. +Требования: Visual Studio 2022 (Desktop C++) и CMake 3.20+. ```bat 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. +Исполняемые файлы используют статическую CRT, GUI-подсистему и тот же +манифест `asInvoker` / Common Controls 6, что и сборки на AutoIt. -## Preview +## Предпросмотр -- `setup_x64.exe /preview` or an executable named `setup_preview*.exe` - starts preview mode: fixed 307×259 position, all buttons enabled, no - `src_*.exe` helper, preview wallpaper. -- The ported `setup_preview.exe` in `..\Windows_installer_NEW` is the x64 - build used this way. +- `setup_x64.exe /preview` или файл с именем `setup_preview*.exe` запускает + режим предпросмотра: фиксированная позиция 307×259, все кнопки активны, + без помощника `src_*.exe`, обои предпросмотра. +- `build_x64\Release\setup_x64.exe`, переименованный в `setup_preview.exe`, + используется именно так. -## Deployment +## Размещение на флешке -On a PARAVIS flash the two Windows Setup WIMs are: +Два образа Windows Setup на флешке PARAVIS: -- `\efi\Paravis\Boot\ws64.wim`, image 1, `\Windows\Setup.exe` — x64 build -- `\efi\Paravis\Boot\ws86.wim`, image 1, `\Windows\Setup.exe` — x86 build +- `\efi\Paravis\Boot\ws64.wim`, образ 1, `\Windows\Setup.exe` — сборка x64; +- `\efi\Paravis\Boot\ws86.wim`, образ 1, `\Windows\Setup.exe` — сборка x86. -`Winpeshl.ini` in both WIMs already launches `%SYSTEMROOT%\setup.exe`. -The launcher starts the real setup from `X:\sources\setup.exe`. +`Winpeshl.ini` в обоих WIM уже запускает `%SYSTEMROOT%\setup.exe`. +Запускается настоящий Setup из `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). +Окно использует цветовой ключ `0xABCDEF`. Шрифты Montserrat встроены как +ресурсы `RCDATA`; обои 1024×768 встроены как PNG без потерь и +декодируются через GDI+ при запуске. Поэтому каждый exe весит около 1 МБ. +Разметка UI та же, что в AutoIt-версии (376/410/360 по ширине), кнопки +нативные. GDI+ и ole32 входят в стандартный Windows Setup boot.wim +(проверено в целевом образе). -## Behaviour +## Поведение -- Searches all drives for `\WindowsESD\NOT.DEL` or - `\efi\Paravis\Windows\NOT.DEL`. -- Warns and exits if both image folders are present. -- Finds `\efi\Paravis\Boot\NOT.DEL` for `src_x64.exe` / `src_x86.exe` - and Total Commander. -- Uses `%WINDIR%\SYSWOW64` to select the x64 UI; `firmware_type` selects - 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=1` to write +- Ищет `\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`. -## 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) +src/ исходники C++ +assets/ шрифты, обои и элементы интерфейса (включая Montserrat OFL) +legacy-au3/ исходные скрипты AutoIt +app.rc скрипт ресурсов +app.manifest манифест приложения +build.cmd сборка релиза (x64 + x86) ``` -## License +## Лицензия -MIT for the program code. See [`LICENSE`](LICENSE). +Код — MIT, см. [`LICENSE`](LICENSE). -Montserrat is licensed under the SIL Open Font License 1.1; see -[`assets/OFL.txt`](assets/OFL.txt) and [`THIRD-PARTY.md`](THIRD-PARTY.md). +Montserrat распространяется по SIL Open Font License 1.1, см. +[`assets/OFL.txt`](assets/OFL.txt) и [`THIRD-PARTY.md`](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. +В репозитории только исходный код. Образы установки Windows (`*.wim`, +`*.esd`, `Data.pf`), производные шрифтов Microsoft и сторонние бинарники не +распространяются.