diff --git a/docs/content/dev/architecture.md b/docs/content/dev/architecture.md index f3345ce4..1a69b606 100644 --- a/docs/content/dev/architecture.md +++ b/docs/content/dev/architecture.md @@ -128,6 +128,154 @@ winutil/ - CheckBoxes for options - ListBoxes for selections +## Win11 Creator Architecture + +The **Win11 Creator** is a specialized subsystem within Winutil that creates customized Windows 11 ISOs. It operates independently from the main package installation and tweak system. + +### Win11 Creator Components + +**Core Functions** (`functions/private/`): +- `Invoke-WinUtilISO.ps1`: Main orchestrator containing all Win11 Creator functions + - `Invoke-WinUtilISOBrowse`: ISO file selection dialog + - `Invoke-WinUtilISOMountAndVerify`: Validates and mounts ISO, verifies it's official Windows 11 + - `Invoke-WinUtilISOModify`: Launches modification in background runspace + - `Invoke-WinUtilISOExport`: Handles ISO and USB export + - `Invoke-WinUtilISOCheckExistingWork`: Recovers incomplete work sessions + - `Invoke-WinUtilISOCleanAndReset`: Cleans up temp directories and resets UI + +- `Invoke-WinUtilISOScript.ps1`: Applies modifications to mounted install.wim + - Removes provisioned AppX packages (40+ bloatware apps) + - Injects drivers (optional) from current system + - Removes OneDrive setup files + - Applies offline registry tweaks (hardware bypass, privacy, telemetry, OOBE) + - Deletes telemetry scheduled task definitions + - Pre-stages setup scripts from autounattend.xml + - Removes unused Windows editions + - Cleans component store via DISM + +### Win11 Creator Data Flow + +``` +User selects official Windows 11 ISO + ↓ +Invoke-WinUtilISOBrowse → OpenFileDialog, validates file size + ↓ +Invoke-WinUtilISOMountAndVerify + ├─ Mount ISO via Mount-DiskImage + ├─ Verify install.wim or install.esd exists + ├─ Check for "Windows 11" in image metadata + ├─ Extract available editions (Home, Pro, Enterprise, etc.) + └─ Store ISO path, drive letter, WIM path, image info in $sync + ↓ +User optionally enables Driver Injection checkbox + ↓ +Invoke-WinUtilISOModify (runs in background runspace) + ├─ Create work directory: ~WinUtil_Win11ISO_[timestamp] + ├─ Copy ISO contents to disk (~5-6 GB) + ├─ Mount install.wim at selected edition/index + ├─ Invoke-WinUtilISOScript: + │ ├─ Remove 40+ bloat AppX packages + │ ├─ Export and inject drivers (if enabled) + │ ├─ Remove OneDrive setup + │ ├─ Load offline registry hives + │ ├─ Apply 50+ registry tweaks (hardware bypass, privacy, telemetry, OOBE, etc.) + │ ├─ Delete telemetry scheduled task files + │ ├─ Pre-stage setup scripts from autounattend.xml to C:\Windows\Setup\Scripts\ + │ └─ Unload registry hives + ├─ DISM /Cleanup-Image /StartComponentCleanup /ResetBase (saves 300-800 MB) + ├─ Dismount and save modified install.wim (~10+ minutes, slowest step) + ├─ Export selected edition only (removes all other editions, saves 1-2 GB each) + ├─ Dismount source ISO + └─ Report completion, enable export options + ↓ +Invoke-WinUtilISOExport (user chooses output) + ├─ Option 1: Save as ISO + │ ├─ Build bootable ISO via oscdimg.exe (BIOS/UEFI dual-boot) + │ └─ Output: Win11_Modified_[date].iso (2.5-3.5 GB) + │ + └─ Option 2: Write to USB + ├─ Format USB as GPT + ├─ Create 512 MB EFI partition + ├─ Copy modified ISO contents + └─ Output: Bootable USB (minimum 8 GB) + ↓ +Invoke-WinUtilISOCleanAndReset (optional) + └─ Delete temp working directory (~10-15 GB) + └─ Reset UI to initial state +``` + +### Win11 Creator Validation & Safety + +**ISO Validation**: +- Only accepts official Microsoft Windows 11 ISOs +- Validates presence of install.wim or install.esd +- Checks image metadata for "Windows 11" string +- Rejects custom, modified, or non-Windows 11 ISOs + +**Work Session Recovery**: +- Auto-detects incomplete work from previous sessions +- Allows resuming Step 4 (export) without re-running Steps 1-3 +- Prevents redundant modifications + +**Modification Safety**: +- All registry changes are documented in script (reversible) +- Original ISO never modified; only working copy +- Logged to `WinUtil_Win11ISO.log` for debugging +- DISM handles image dismount with automatic cleanup on error + +### Win11 Creator Registry Tweaks + +The `Invoke-WinUtilISOScript` function applies **50+ offline registry tweaks**: + +**Hardware Bypass**: +- TPM 2.0 check bypass +- Secure Boot requirement bypass +- CPU compatibility bypass +- RAM requirement bypass +- Storage check bypass + +**Privacy & Telemetry**: +- Disable advertising ID +- Disable tailored experiences +- Disable input personalization +- Disable speech online privacy +- Disable cloud content suggestions +- Disable app suggestion subscriptions +- Remove CEIP, Appraiser, WaaSMedic, etc. + +**OOBE & Setup**: +- Enable local account setup +- Skip Microsoft account requirement +- Dark mode by default +- Empty taskbar and Start Menu + +**Post-Setup Installations**: +- Prevent DevHome auto-installation +- Prevent new Outlook Mail app installation +- Prevent Teams auto-installation + +**System Features**: +- Disable BitLocker and device encryption +- Disable Chat icon from taskbar +- Disable OneDrive folder backup +- Disable Copilot +- Disable Windows Update during OOBE (re-enabled at first login) + +### Driver Injection Feature + +**Optional Enhancement**: When enabled, exports all drivers from the running system and injects them into both: +- `install.wim` (main OS image) +- `boot.wim` index 2 (Windows Setup PE environment) + +**Use Case**: Enables offline installation on systems with missing drivers. + +### Disk Space Requirements + +- **Temporary working directory**: ~10-15 GB +- **Original ISO**: 4-6 GB +- **Modified ISO**: 2.5-3.5 GB +- **Total needed**: ~25 GB for safe operation + ## Data Flow ### Application Installation Flow @@ -514,6 +662,7 @@ Outputs `winutil.ps1` in the root directory. - [Contributing Guide](../../contributing/) - How to contribute code - [User Guide](../../userguide/) - End-user documentation +- [Win11 Creator Guide](../../userguide/win11Creator/) - Building customized Windows 11 ISOs - [FAQ](../../faq/) - Common questions ## Additional Resources diff --git a/docs/content/userguide/win11Creator/_index.md b/docs/content/userguide/win11Creator/_index.md index 8ee0ddaf..3c189897 100644 --- a/docs/content/userguide/win11Creator/_index.md +++ b/docs/content/userguide/win11Creator/_index.md @@ -8,14 +8,14 @@ weight: 5 Winutil includes a built-in **Win11 Creator** tool that lets you take any official Windows 11 ISO and produce a customized, debloated version — with telemetry removed, hardware requirement checks bypassed, and local account setup enabled out of the box. You can export the result as a new ISO file or write it directly to a USB drive. > [!IMPORTANT] -> You need a valid Windows 11 ISO before starting. Download one from [Microsoft's official site](https://www.microsoft.com/en-us/software-download/windows11) or use [UUP Dump](https://uupdump.net/). The process uses ~10–15 GB of temporary disk space, so make sure you have room. +> You need an **official Windows 11 ISO** from [Microsoft's website](https://www.microsoft.com/en-us/software-download/windows11) before starting. Custom, modified, or non-official ISOs are not supported. The process uses ~10–15 GB of temporary disk space, so make sure you have room. --- -### Step 1 — Select Your ISO +### Step 1 — Select Your Official Windows 11 ISO 1. Open Winutil and go to the **Win11 Creator** tab. -2. Click **Browse** and select your Windows 11 ISO file (must be 4 GB or larger). +2. Click **Browse** and select your **official Windows 11 ISO file** from Microsoft (must be 4 GB or larger). Custom or modified ISOs are not supported. 3. The file path and size will appear on screen once selected. --- @@ -35,14 +35,31 @@ Winutil includes a built-in **Win11 Creator** tool that lets you take any offici Click **Run Windows ISO Modification and Creator** to start the customization process. Winutil will: +**App & Component Removal:** - **Remove 40+ bloat apps** — Clipchamp, Teams, Copilot, Dev Home, new Outlook, Bing apps, Solitaire, and more - **Delete OneDrive setup** from the image -- **Apply registry tweaks** — disables telemetry, advertising ID, tailored experiences, and cloud content features + +**System Customization:** - **Bypass hardware checks** — removes TPM, Secure Boot, CPU, and RAM requirement enforcement so the ISO installs on unsupported hardware - **Enable local account setup** — injects an `autounattend.xml` that skips the Microsoft account screen during OOBE +- **Disable BitLocker and device encryption** — removes startup overhead +- **Disable Chat icon** — removes chat taskbar button - **Strip unused editions** — keeps only your selected edition, saving 1–2 GB per removed edition - **Clean the component store** — runs DISM cleanup to reclaim another 300–800 MB + +**Privacy & Telemetry Tweaks:** +- **Disable telemetry** — advertising ID, tailored experiences, input personalization, speech online privacy +- **Disable cloud content features** — app suggestions, Microsoft Store recommendations - **Remove telemetry scheduled tasks** — CEIP, Appraiser, WaaSMedic, and others +- **Disable OneDrive folder backup** — prevents automatic backups to cloud +- **Prevent DevHome and Outlook post-setup installation** +- **Prevent Teams installation** — blocks auto-install after OOBE +- **Prevent new Outlook Mail app installation** +- **Disable Windows Update during OOBE** — re-enabled automatically on first login +- **Disable Copilot and search box suggestions** + +**Optional: Driver Injection** +- If enabled, injects all drivers from your current system into the install.wim and boot.wim — useful for offline installations on machines with missing drivers. This is an optional checkbox in Step 3. A live log shows progress as each step completes. This stage takes **10–30 minutes** depending on your disk speed — the WIM dismount near the end is the slowest part, so don't close Winutil while it's running. @@ -94,9 +111,9 @@ When you install Windows 11 from your modified ISO: - **No Microsoft account required** — create a local account directly during setup - **No hardware checks** — installs on machines without TPM 2.0, Secure Boot, or supported CPUs - **Dark mode enabled by default** -- **Empty taskbar and Start Menu** — no pinned apps -- **Windows Update re-enabled automatically** after first login (it's paused during OOBE to prevent interruption) -- **BitLocker disabled**, Recall disabled, desktop shortcuts removed +- **Empty taskbar and Start Menu** — no pinned apps, Chat icon removed +- **Windows Update disabled during OOBE** — automatically re-enabled on first login to prevent setup interruptions +- **BitLocker disabled** — removes startup overhead on first boot --- @@ -150,4 +167,4 @@ A list of the best free and open source tools for downloading, creating and flas > Always download Windows ISOs from official Microsoft sources or trusted tools like Rufus/UUP Dump to avoid tampered images. > [!NOTE] -> Newer Windows 11 ISOs may not boot correctly on older versions of Ventoy — make sure Ventoy is up to date before use. If issues persist after updating, this is a Ventoy compatibility limitation outside of Winutil's control. \ No newline at end of file +> Newer Windows 11 ISOs may not boot correctly on older versions of Ventoy — make sure Ventoy is up to date before use. If issues persist after updating, this is a Ventoy compatibility limitation outside of Winutil's control.