Skip to content

TacII/WimWizard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WimWizard

WimWizard is a PowerShell-based Windows 11 WIM image servicing tool developed for enterprise IT environments. It automates the monthly process of building and maintaining deployment-ready WIM images — injecting language packs, removing unwanted built-in apps, and applying the latest Patch Tuesday updates — all in a single automated run.

A graphical launcher (WimWizard-GUI.ps1) provides a clean interface for configuring and launching the tool without touching the command line.

Inspired by WIM Witch by Donna Ryan.

image

Features

  • Full image build — Services a Windows 11 Enterprise WIM from a source ISO: language packs, FOD packages, cumulative updates (.NET, SafeOS/WinRE), and Appx removal
  • Inbox app language fix — Automatically generates and injects a RunOnce script into the Default User profile that reinstalls kept apps via winget at first user logon. This triggers the AppX framework to download the correct language satellites for the user's locale — no task sequence steps required
  • Patch mode — Patches an existing serviced WIM with the latest updates only, skipping ISO/LP steps. Ideal for monthly Patch Tuesday cycles
  • Automatic update download — Downloads LCU, .NET and SafeOS updates directly from the Microsoft Update Catalog via MSCatalogLTS. Already-downloaded KBs are reused automatically
  • Language pack injection — Supports all 39 languages available in the Microsoft LP ISO, including LIPs and FOD packages
  • Appx removal — 36 configurable inbox apps with sensible corporate defaults. Fully configurable via GUI
  • WinRE patching — Applies SSU + SafeOS updates to WinRE following the Microsoft documented sequence
  • ISO validation — GUI shows live ✔/✗ indicators for Windows ISO and Language Pack ISO. Run button hidden until prerequisites are met
  • Registry persistence — GUI saves all selections (languages, apps, options) to the registry and restores them on next launch
  • Completion screen — GUI minimizes while the build runs, restores and shows a completion screen when done
  • ISO version probe — GUI reads the Windows ISO at startup (from filename or by mounting) to display the real build number in the filename preview

Requirements

  • Windows PowerShell 5.1 or later
  • Windows 11 Enterprise or Education source ISO (25H2 or later)
  • Windows 11 Language Pack ISO (contains all LP + FOD packages — no separate FOD ISO needed)
  • Administrator rights, both scripts need to be launched as Admin. (Mount command requires Admin-rights.)
  • Internet access for automatic update download (or provide updates manually via -UpdatePath)
  • MSCatalogLTS PowerShell module (installed automatically if missing)

Files

File Description
WimWizard.ps1 Main servicing script — run directly or via the GUI
WimWizard-GUI.ps1 Graphical launcher — recommended entry point
WimWizard-AppxList.xml Generated by the GUI on Run — custom Appx removal list
ISO-Source\ Place your Windows ISO and Language Pack ISO here
Updates\ Cached update files — reused automatically on subsequent runs
Output\ Default output folder for finished WIM files and build logs
SetLanguage.zip Task sequence steps to set default language for the nordic languages based on input from TSGui or UDI-Wizard

Getting Started

  1. Clone or download this repository to a folder on your servicing machine, e.g. D:\WimWizard\

  2. Download the following from the Microsoft 365 Admin Center:

    • Windows 11 Enterprise ISO (SW_DVD9_Win_Pro_11_25H2_*.ISO)
    • Language Pack ISO (SW_DVD9_Win_11_*_LangPack_*.ISO)
  3. Place both ISOs in the ISO-Source\ folder next to the scripts

  4. Right-click WimWizard-GUI.ps1Run As Admin
    (or launch from an elevated PowerShell session)

  5. Select your languages, configure app removal, click Run

  6. Import the finished WIM into SCCM/MECM:
    Software Library → Operating System Images → right-click → Update Distribution Points

  7. If you are building images often you may want to exclude \WimWizard\Output from Microsoft Defender virus scanning. Otherwise DISM will take twice as long to close the image.


Inbox App Language Fix

Windows 11 Store-managed inbox apps (Notepad, Calculator, Paint, Photos, Snipping Tool etc.) display in English at first user logon even when language packs are correctly injected into the WIM. This happens because their UI language comes from a language satellite MSIX downloaded by the Store framework at install time — not from OS FODs.

WIM Wizard fixes this automatically during the image build:

  1. After Appx removal, generates InstallSystemApps.ps1 with winget reinstall commands for all apps that were kept in the image (not in the removal list)
  2. Copies the script into the WIM at C:\ProgramData\WimWizard\
  3. Injects a RunOnce registry key into Users\Default\NTUSER.DAT so the script runs at every new user's first logon
  4. At first logon, the script bootstraps the latest winget from GitHub, then reinstalls each kept app — the AppX framework automatically downloads the correct language satellites for the user's configured locale

No task sequence modifications needed. The fix is baked into the WIM.


Monthly Patching

Once you have a baseline image, use patch mode instead of rebuilding from scratch:

Via GUI:

  1. Options tab → check Patch an existing image
  2. Browse to your last built WIM
  3. Languages are read automatically from the WIM
  4. Click Run — only updates are downloaded and applied

Standalone:

.\WimWizard.ps1 -PatchExistingWim "Output\Win11_25H2_26200.8037_da_fi_no_se_20260310.wim"

Standalone Usage

# Interactive
.\WimWizard.ps1

# Unattended with 4 Nordic languages
.\WimWizard.ps1 -Languages "da,fi,no,se" -Unattended

# Custom source folder and output path
.\WimWizard.ps1 -Languages "da,fi,no,se" -SourceFolder "E:\ISO" -OutputPath "D:\Output\Win11.wim" -Unattended

# Skip updates (language packs and app removal only)
.\WimWizard.ps1 -Languages "da,fi,no,se" -SkipUpdates -Unattended

# With custom Appx list generated by the GUI
.\WimWizard.ps1 -Languages "da,fi,no,se" -AppxListPath "WimWizard-AppxList.xml" -Unattended

# Show all parameters
.\WimWizard.ps1 -Help

Update download time varies. Already-downloaded KBs are reused from the Updates\ cache automatically.


Versions

Component Version
WimWizard.ps1 4.7.0
WimWizard-GUI.ps1 1.7.0
Windows 11 target 25H2 (26200.x) / 24H2 (26100.x)

License

This project is licensed under the GNU General Public License v3.0.
See LICENSE for the full text.


Author

Mathias Haas For urgent matters: bWF0aGlhcy5oYWFzQGZpZGVsaXR5Y29uc3VsdGluZy5zZQ== (base64)

About

WimWizard is a tool to build fully patched OS-Images with languagepacks for use with SCCM/SCEM

Resources

License

Stars

Watchers

Forks

Packages