Графическое и Cli приложение как аналог Rufus, но шире: Позволяет создавать Windows To Go только на части диска, позволяет загружать конфиг O&O shutup, позволяет делать свои ISO чтобы не устанавливать программы и умеет в автоустановку программ.
Find a file
claude 34393d6b18 Add driver injection + arbitrary content-to-C:\ across all modes
- New "extra content" option copies files/folders into the installed system's
  C:\ root (folder "Tools" -> C:\Tools). For install modes it copies onto the
  applied volume; for build-iso it uses sources\$OEM$\$1 so Setup places it at C:\.
- Drivers (.inf) and extra content are now shared across Windows To Go, dual-boot
  and build-iso — a normal install already bakes in drivers/content/debloat/apps,
  so "build + install" happens in one step without a separate ISO.
- Engine: WimService.AddDriversAsync (dism /Add-Driver /Recurse on offline image),
  ProvisioningService.CopyContentAsync (recursive files/folders), UnattendOptions.AllOff
  + UseConfigurationSet in HasAnything so $OEM$ is processed even without other tweaks.
- GUI: shared "Драйверы (.inf)" and "Доп. файлы/папки -> C:\" fields with folder
  pickers; removed the ISO-tab-only Drivers field. CLI: --drivers / --content.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-04 04:43:28 +03:00
EasyWin.Cli Add driver injection + arbitrary content-to-C:\ across all modes 2026-07-04 04:43:28 +03:00
EasyWin.Core Add driver injection + arbitrary content-to-C:\ across all modes 2026-07-04 04:43:28 +03:00
EasyWin.Wpf Add driver injection + arbitrary content-to-C:\ across all modes 2026-07-04 04:43:28 +03:00
.gitignore Base dont 2026-07-04 04:23:36 +03:00
EasyWin.slnx Base dont 2026-07-04 04:23:36 +03:00
LICENSE Initial commit 2026-07-04 01:17:30 +00:00
README.md readme 2026-07-04 04:38:20 +03:00

EasyWin

Кастомный установщик Windows. Цель — перестать тратить часы на установку и настройку: разворачивать заранее настроенную, «чистую» Windows одним действием, с нужными программами и вырезанной телеметрией.

Написан на C# (.NET 10). Движок оркестрирует штатные системные утилиты (dism, bcdboot, diskpart) — тот же подход, что и у Rufus (его исходник лежит в rufus/ для справки по последовательности Windows To Go).

Структура

src/
  EasyWin.Core/   — движок (библиотека, UI-агностичный)
    Diagnostics/  — ProcessRunner, логирование
    Models/       — PhysicalDisk, WimEdition, DiskPartition
    Services/     — DiskService, IsoService, WimService, DiskPartitioner,
                    BootService, PartitionService
    Unattend/     — UnattendBuilder (autounattend.xml: приватность/деблоат/автонастройка)
    Provisioning/ — ProvisioningService (payload на носитель)
    Apps/         — AppSpec, AppProvisioner (тихая установка приложений при первом входе)
    WinToGo/      — WinToGoInstaller (стирает диск целиком)
    DualBoot/     — DualBootInstaller (установка на один раздел, не трогая остальные)
    IsoBuild/     — IsoBuilder (кастомный auto-install ISO)
  EasyWin.Cli/    — консольный драйвер (easywin.exe)
  EasyWin.Wpf/    — графический интерфейс (EasyWinGui.exe, WPF/MVVM)

GUI

Графическая версия — проект EasyWin.Wpf (EasyWinGui.exe). Запускать от админа.

dotnet build EasyWin.slnx -c Debug
# затем запустить из повышенной сессии:
.\src\EasyWin.Wpf\bin\Debug\net10.0-windows\EasyWinGui.exe

Вкладки: Windows To Go, Установка на раздел (dual-boot), Создать раздел, Сборка ISO. Сверху — общий выбор ISO/редакции/диска; снизу — раскрывающийся блок настройки Windows (приватность, деблоат, обход Win11, O&O ShutUp10, приложения) и живой лог с прогресс-баром. Деструктивные действия требуют подтверждения.

Сборка

dotnet build EasyWin.slnx -c Debug

Использование

CLI требует прав администратора (манифест requireAdministrator). Запускать из повышенной консоли:

# --- Просмотр (безопасно, только чтение) ---
easywin list-disks                                   # диски + флаги безопасности
easywin list-editions --iso "C:\easywin\win11 iot ltsc.iso"
easywin list-partitions --disk 1                     # раскладка разделов диска

# --- Windows To Go (СТИРАЕТ ДИСК ЦЕЛИКОМ) ---
easywin wintogo --iso "C:\easywin\win11 iot ltsc.iso" --disk 1 --edition 1 `
    --tweaks --user Nikita --oosu-cfg "C:\my\ooshutup.cfg" `
    --apps-file "C:\my\apps.txt"
#   По умолчанию: приватность/деблоат, внутренние диски offline (SanPolicy=4), WinRE off.

# --- Dual-boot: установка на ОДИН раздел, не трогая остальные ---
easywin install-partition --iso "...iso" --disk 1 --partition 3 --format-target `
    --tweaks --user Nikita
#   --format-target        форматировать ТОЛЬКО целевой раздел (если не пуст)
#   --replace-existing-os  перезаписать \Windows на целевом разделе

# --- Кастомный auto-install ISO ---
easywin build-iso --iso "...iso" --out "C:\out\custom.iso" --tweaks --user Nikita `
    --remove-appx Xbox,Bing --bypass11

# --- Просто сгенерировать файл ответов ---
easywin gen-unattend --user Nikita --san-offline --out autounattend.xml

Общие флаги кастомизации (для wintogo/install-partition/build-iso/gen-unattend): --tweaks --user --password --timezone --bypass11 --no-privacy --keep-onedrive --keep-bloat --allow-encryption --san-offline --oosu-cfg --oosu-exe --payload --apps --apps-file. --verbose — показать вывод diskpart/dism/bcdboot.

⚠️ Безопасность

  • wintogo полностью стирает целевой диск.
  • Движок никогда не трогает диск с флагами SYSTEM/BOOT.
  • Не-съёмные (внутренние) диски заблокированы без --allow-internal.
  • Всегда требуется подтверждение (интерактивно или --yes).
  • Для разработки/тестов используйте отдельную флешку или VHD, не рабочий диск.

Статус

MVP: Windows To Go — разметка GPT (ESP+MSR+Windows) → применение WIM → bcdboot. Работает и протестирован путь перечисления дисков/защиты. Установку запускать под админом.

Полная дорожная карта — в ROADMAP.md.