Autounattend.xml: Debloat Windows 10/11 During Install

Windows Answer File cover image

An answer file (autounattend.xml) sits on the root of your Windows install USB and tells Setup how to configure Windows before you ever hit the desktop — no Microsoft account prompt, no Edge, no OneDrive, no Copilot, privacy tweaks already applied. This guide walks through the workflow I actually use: drop my UnattendedWinstall autounattend.xml onto a Windows 10 or 11 install USB using WIMUtil (from Winhance), and let Setup do the rest. Nothing about the image is modified, so Windows Update keeps working normally.

Applies to: Windows 10 and Windows 11 (22H2, 23H2, 24H2, 25H2) — any edition that Microsoft’s official ISO supports
Last updated: April 2026

Key Takeaways

  • Official Microsoft feature, not a hack. Answer files are Microsoft’s documented deployment mechanism, originally built for IT — the WIM stays untouched.
  • Bloatware stays gone. The UnattendedWinstall answer file installs scheduled tasks that re-remove apps if Windows Update reinstalls them.
  • No forced Microsoft account. Setup skips the online account requirement and creates a local account automatically.
  • Works with any deployment path. Use Media Creation Tool + drag-drop, Rufus, AnyBurn, or (recommended) WIMUtil — which also injects your current PC’s drivers.

Quick Steps

  1. Download the official Windows 11 or Windows 10 ISO from Microsoft.
  2. Download autounattend.xml from the UnattendedWinstall GitHub repo.
  3. Create install media — put the autounattend.xml on the root of the USB (or inside the ISO if you’re burning a new one).
  4. Boot from the USB, accept the prompts Setup can’t auto-answer (product key, install drive).
  5. Reach a clean desktop — local account, no bloatware, privacy tweaks applied.

In This Guide

Four ways to put the answer file on your install media. Pick the one that fits:

What You’ll Need

How Windows Answer Files Actually Work

Windows Setup scans specific locations for a file named exactly autounattend.xml (all lowercase). The root of the installation media is the one that always works — whether that’s a USB or a mounted ISO. When Setup finds it, it reads XML instructions spread across several configuration passes (windowsPE, specialize, oobeSystem) and executes them at the matching phase of the install. Microsoft’s deployment docs cover the XML schema in detail.

The advantage over “debloated ISO” downloads: the Windows image itself is never modified. You’re using Microsoft’s unmodified ISO and asking Setup to configure Windows differently as it installs. Windows Update, servicing, and feature upgrades all continue to work normally — the only difference is what’s on the system when you first see the desktop.

Windows installation USB root showing autounattend.xml next to the setup.exe and boot files

Why UnattendedWinstall? It’s open source — every line is on GitHub. Before running it, you can inspect exactly which apps get removed and which registry keys get written. That’s a very different trust model from downloading a pre-built “debloated” ISO from some random source.

Download the UnattendedWinstall Answer File

  1. Open the UnattendedWinstall GitHub page.
  2. Click autounattend.xml in the file list.
  3. On the file view, click the download icon (or use Raw → right-click → Save As) to save the file locally.
  4. Keep the file name exactly as autounattend.xml. Windows Setup won’t recognise it under any other name.

Method 1: WIMUtil (Recommended)

WIMUtil is built into Winhance and is how I build every install ISO myself. It extracts your source ISO, lets you either drop in the UnattendedWinstall XML or generate one from the Winhance settings interface, and — the killer feature — pulls drivers from the machine you’re running it on and injects them into the new ISO. After first boot, every piece of hardware on that PC already has drivers loaded.

  1. Install Winhance from memstechtips.com/winhance.
  2. Open Winhance and go to the WIMUtil section.
  3. Select your Windows ISO file. WIMUtil will extract it.
  4. Pick your answer-file source: Use latest UnattendedWinstall XML (pulls the current version from GitHub), Generate from Winhance selections (builds a custom XML from your toggles), or Bring your own XML (e.g. one from Schneegans’ Unattended Generator).
  5. Optionally tick Extract drivers from current OS to bake in your PC’s drivers.
  6. Click Start Creating. WIMUtil packages everything into a new ISO you can boot in a VM, burn to USB, or drop onto a Ventoy drive.
WIMUtil in Winhance showing the ISO build settings with answer file and driver injection options

Only pick one XML source. Mixing XMLs from different generators (UnattendedWinstall + Schneegans, etc.) causes conflicts and the results are unpredictable. Stick to one answer file per USB.

Method 2: Media Creation Tool + Drag and Drop

The simplest path. Zero extra tools.

  1. Run Microsoft’s Media Creation Tool and create the Windows 10/11 bootable USB.
  2. When it finishes, leave the USB plugged in.
  3. Copy autounattend.xml into the root folder of the USB — not into a subfolder.
  4. Safely eject the USB. It’s ready.

Method 3: Rufus

If you already use Rufus for install USBs, it works the same way.

  1. Open Rufus, select your Windows ISO and target USB drive.
  2. Do not tick Rufus’s “Remove requirement for an online Microsoft account” or similar customisation options — Rufus writes its own answer file and it will conflict with the one you’re adding.
  3. Click Start and wait for Rufus to finish.
  4. Copy autounattend.xml onto the root of the USB.
  5. Eject. Done.

Method 4: AnyBurn (Build a Modified ISO File)

If you want an ISO file (for VMs, or to copy onto a Ventoy USB) rather than a USB directly, use AnyBurn.

  1. Install AnyBurn.
  2. Open AnyBurn → Edit Image File → select your Windows ISO.
  3. Add autounattend.xml to the root directory of the ISO.
  4. Save the ISO under a new filename so you still have the original.

The resulting ISO boots fine in VirtualBox, VMware, and Hyper-V, and copies straight onto a Ventoy drive for physical installs.

What Installation Looks Like

Boot from the USB as normal. Setup still asks you for a few things the answer file intentionally doesn’t automate:

  • Region and keyboard layout
  • Product key (or “I don’t have a product key”)
  • Install drive selection and partitioning

If you want those steps automated too, build a version of the XML with Schneegans’ Unattended Generator and pick the partitioning/region options there.

After the files finish copying, you’ll see brief flashes of Command Prompt and PowerShell windows — that’s the answer file doing its work. OOBE skips the Microsoft account prompt and creates a local account for you. When you finally land on the desktop, Edge is gone, OneDrive is gone, Copilot is gone, and the Start menu is mostly empty.

Fresh Windows 11 desktop after UnattendedWinstall install showing empty Start menu and taskbar

If you prefer a local account long-term, you’re already set. If you want a Microsoft account later, see my breakdown on local vs Microsoft account tradeoffs — you can always convert later in Settings or add a second MSA-linked user.

After Installation — Installing Apps the Right Way

UnattendedWinstall doesn’t install a browser, which is deliberate. Your desktop has a shortcut called Install Winhance — double-click it, the script fetches Winhance, and you’ve got a GUI to install apps, browsers, and dev tools from there. No manual browser-hunt required.

Winhance External Software section listing applications to install on a fresh Windows setup

Why use Winhance (not the app’s installer) to reinstall a removed app

UnattendedWinstall installs scheduled tasks that re-uninstall specific apps on boot — that’s how Edge, OneDrive, and friends stay gone after a Windows cumulative update tries to put them back. But that means if you reinstall, say, Edge from Microsoft’s installer, the next reboot will wipe it out again.

Winhance knows about these scheduled tasks. When you install an app through Winhance’s Windows Apps and Features section, it deletes the matching removal script and scheduled task automatically. Install Edge via Winhance → Edge stays. Install Edge manually → Edge gets wiped next boot.

Rule of thumb: Anything that appears in Winhance’s Windows Apps and Features list should be enabled/disabled through Winhance, not manually. This is specific to UnattendedWinstall — other debloat approaches don’t use this scheduled-task mechanism.

Winhance settings interface displaying the Windows configurations applied by UnattendedWinstall with toggle options

Reviewing and reverting UnattendedWinstall’s changes

Every setting UnattendedWinstall modified is visible in Winhance. Open Windows Configurations and every toggle reflects the current state — flip anything back if you changed your mind. Same for the auto-removal scripts: Windows Apps and Features → Help shows which apps have an active removal task, and clicking the status icon deletes that task (the app won’t get re-removed anymore).

Customising the Answer File

UnattendedWinstall suits my preferences. If yours differ — you want Calculator and Paint kept, Light Mode as default, Edge preserved, or a different app set — you have two options.

Generate your own from Winhance

Winhance (v25.11.03 and later) has a built-in answer-file generator. Toggle apps, settings, and customisations in the GUI, click Generate autounattend.xml, and you get a file tailored to your selections with the same scheduled-task compatibility the default UnattendedWinstall XML has. This is what I’d recommend for most people.

Edit the XML directly

For custom registry keys or PowerShell beyond what Winhance exposes, the XML has two designated insertion points. Open autounattend.xml in any text editor and find these markers.

Machine-scope code (runs with system privileges; use for HKLM / HKCR edits or services):

# ADD YOUR SYSTEM WIDE POWERSHELL SCRIPT CONTENTS BELOW
# Start here

# Your PowerShell or reg commands go here
# e.g. reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v DisableWindowsUpdateAccess /t REG_DWORD /d 0 /f

# End here

User-scope code (runs as the new user; use for HKCU or per-user app settings):

# ADD YOUR USER SPECIFIC POWERSHELL SCRIPT CONTENTS BELOW
# Start here

# Your PowerShell or reg commands go here
# e.g. reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v TaskbarAl /t REG_DWORD /d 0 /f

# End here

If you’re not comfortable writing XML or PowerShell, paste the relevant section into Claude or ChatGPT and ask it to add what you want — these AI assistants handle this format well.

Troubleshooting

Setup ignores the answer file

  • Filename must be exactly autounattend.xml — all lowercase, no spaces, no extra extensions.
  • It must sit at the root of the install media, not inside sources, boot, or any subfolder.
  • If you used Rufus and ticked any Windows 11 customisation options, Rufus silently wrote its own autounattend.xml that overrides yours. Rebuild with those options unticked.
  • Some Microsoft-supplied ISOs are signed in a way that resists modification if you repacked them — use the original ISO, not one you modified elsewhere.

Drivers missing after install

  • If you used WIMUtil with driver extraction, the drivers are at C:\Windows\Drivers. In Device Manager, right-click the unknown device → Update driverBrowse my computer → point at that folder with Include subfolders ticked.
  • If you didn’t inject drivers, my Snappy Driver Installer Origin guide covers the cleanest offline fix.

An app I wanted keeps disappearing after reboot

That’s the auto-removal system doing its job on an app you actually want. Open Winhance → Windows Apps and FeaturesHelp, find the app, click the removal-status icon to disable the scheduled task. The app will stay installed from then on.

Related Guides

Frequently Asked Questions

Will Windows Update undo the debloating?

No. UnattendedWinstall installs scheduled tasks that run on every boot and re-remove the apps you debloated if Windows Update puts them back. Edge, OneDrive, Widgets — they’ll be wiped on the next reboot after any update that reintroduces them. You don’t have to do anything manually.

Can I still use a Microsoft account?

Yes. OOBE creates a local admin account because that’s what the answer file specifies. After install, go to Settings → Accounts and either convert the local account to a Microsoft account or add a second user signed in with one. Nothing about using a Microsoft account is blocked — you just don’t get forced into one during setup.

Is UnattendedWinstall safe?

The XML is open source on GitHub — you can read every action it takes before you use it. It uses Microsoft’s documented answer-file schema, so there’s no patching of system files, no unsigned binaries, nothing running that Microsoft hasn’t sanctioned as part of normal deployment. Compared to downloading a pre-modified ISO from an unknown source, an auditable XML file is the much safer option.

What if I install a removed app manually — does it stick?

It won’t. The scheduled task will uninstall it on the next boot. Either install the app through Winhance (which removes the matching task) or manually disable the task in Task Scheduler. Installing through Winhance is cleaner because it tracks all the relevant removal hooks for you.

Can I build my own answer file with different apps?

Yes. Winhance includes an XML generator that reads your selections in the GUI and outputs a compatible autounattend.xml. For full automation of things Winhance doesn’t expose (disk partitioning, region, product key), the Schneegans Unattended Generator is the other good option — though its XML doesn’t integrate with Winhance’s post-install management.

Does this work for Windows 10?

Yes. The UnattendedWinstall XML supports both Windows 10 and Windows 11. With Windows 10 end-of-support arriving in October 2025 (or later with free ESU), most new installs are Windows 11 — but if you’re maintaining older Windows 10 deployments, the same answer file works.

Similar Posts