Automating Windows Installation with Autounattend.xml and UUP dump

Automating Windows Installation with Autounattend.xml and UUP dump
Automating a Windows unattended installation can save hours of repetitive work — whether for lab testing, VM deployment, or mass corporate rollout. By using an Autounattend.xml
file, you predefine installation steps such as language, partitioning, product key, and even post-install configuration, all without user input.
In this guide, you’ll learn:
- What
Autounattend.xml
is and how it works - How to create it
- How and where to place it
- How to integrate language packs
- How to use UUP dump for building custom ISOs
- Example: fully automated workflow
- Troubleshooting common issues
1. Understanding Autounattend.xml
Autounattend.xml
is a Windows answer file that automates setup by supplying preconfigured values.
Phases (passes) it controls:
- windowsPE — disk partitioning, language, TPM/Secure Boot bypass
- specialize — drivers, hostname, networking
- oobeSystem — accounts, privacy, first-run experience
Common settings include:
- Language and locale
- Disk layout and formatting
- Edition selection (from
install.wim
/install.esd
) - Product keys
- Driver injection
- Registry tweaks and PowerShell scripts
When Windows Setup detects Autounattend.xml
, it follows the specified configuration automatically.
2. Creating Autounattend.xml
Option 1: Windows SIM (System Image Manager)
- Part of Windows ADK
- Loads an
install.wim
and provides a GUI for configuring settings - Validates before saving
- Download: Windows ADK
Option 2: Online Generators
- Example: Schneegans Generator
- Offers quick form-based setup for:
- Language
- Disk layout
- User accounts
- TPM/Secure Boot bypass
- Produces ready-to-use XML
Option 3: Manual Editing
- Edit with VS Code, Notepad++, etc.
- Follow the Unattended Setup Reference
- Always validate with Windows SIM
3. Placing Autounattend.xml
Windows Setup searches multiple locations:
A. Root of USB
- Plug in a USB with only
Autounattend.xml
- Works with official ISOs
- Requires 2 devices
B. Integrated into ISO
- Mount ISO → Copy contents → Place XML in root → Rebuild ISO
- Windows (ADK):
1
oscdimg -m -o -u2 -udfver102 C:\WinISO C:\Win11-Auto.iso
- Linux:
1
mkisofs -b boot/etfsboot.com -no-emul-boot -boot-load-size 8 -o Win11-Auto.iso WinISO/
Tip: use oscdimg
on Windows, mkisofs
on Linux.
C. Second Virtual CD/DVD
- Attach small ISO with
Autounattend.xml
as secondary media in VM - Avoids editing original ISO
D. $OEM$ Structure
- Place in
sources\$OEM$\$1
- Common in OEM factory setups
Note: Windows scans all connected drives, prioritizing removable media.
4. Integrating Language Packs
- Download
.cab
packages:Microsoft-Windows-Client-Language-Pack_x64_<lang>.cab
Microsoft-Windows-LanguageFeatures-Basic-<lang>-Package.cab
- Inject with DISM:
1 2 3
dism /Mount-Wim /WimFile:install.wim /Index:1 /MountDir:mount dism /Image:mount /Add-Package /PackagePath:lp.cab dism /Unmount-Wim /MountDir:mount /Commit
- Update
Autounattend.xml
<UILanguage>
,<SystemLocale>
,<InputLocale>
Tip: If you use UUP dump and select the desired language during build, you can skip manual integration.
5. Using UUP dump
UUP dump — a tool to download official Microsoft Windows builds from UUP servers with custom options.
Overview
- Any Windows version (11, 10, Server)
- Edition & language selection
- Language packs & Features on Demand
- Always latest builds from Microsoft CDN
Converter Scripts
convert-UUP.cmd
(Windows)convert.sh
(Linux/macOS)
Functions:
- Assemble ISO from UUP files
- Integrate updates, drivers, language packs
Example (Linux):
|
|
6. Automated Workflow Example
|
|
- UUP dump — Select build, edition, language → Download script
- Convert — Run
convert.sh
orconvert-UUP.cmd
to get ISO - Integrate XML — Place in root of ISO or separate ISO
- Optional: Inject language packs
- Deploy — Boot and enjoy unattended setup
Example Linux one-liner:
|
|
7. Troubleshooting Common Errors
XML Parse Error
- Validate in Windows SIM
- Check for unsupported elements
File Not Found
- Ensure exact filename
Autounattend.xml
- Place in root of media
Driver Missing
- Inject via DISM before install
Language Not Applied
- Match
<UILanguage>
,<UserLocale>
,<SystemLocale>
with installed pack
TPM/Secure Boot Block
- Add registry bypass in
windowsPE
Endless Reboot
- Simplify XML
- Match partition layout to boot mode
Logs:
X:\Windows\Panther\setuperr.log
X:\Windows\Panther\setupact.log
8. Why Use This
Combining Autounattend.xml
+ UUP dump lets you:
- Build fully automated ISOs
- Preconfigure language, edition, updates
- Save time in repetitive installations
- Maintain consistent environments for VMs, labs, and bare-metal deployments