Answer files (unattend.xml)
Answer files (or Unattend files) can be used to modify Windows settings in your images during Setup. You can also create settings that trigger scripts in your images that run after the first user creates their account and picks their default language.
Windows settings overview
While you can set many Windows settings in audit mode, some settings can only be set by using an answer file or Windows Configuration Designer, such as adding manufacturer's support information. A full list of answer file settings (also known as Unattend settings) is in the Unattended Windows Setup Reference.
Enterprises can control other settings by using Group Policy. For more info, see Group Policy.
Answer file settings
You can specify which configuration pass to add new settings. Each configuration pass represents an installation phase where settings can be configured:
1 windowsPE: These settings are used by the Windows Setup installation program. If you’re modifying existing images, you can usually ignore these settings.
2 offlineServicing: These settings are applied to offline images where you apply an Unattend file with DISM using the
Apply-Unattendoption. When you apply an Unattend file with DISM to an offline image, only the settings in this configuration pass are processed.
4 specialize: Most settings should be added here. These settings are triggered both at the beginning of audit mode and at the beginning of OOBE. If you need to make multiple updates or test settings, generalize the device again and add another batch of settings in the Specialize Configuration pass.
6 auditUser: Runs as soon as you start audit mode.
This is a great time to run a system test script - we'll add Microsoft-Windows-Deployment\RunAsynchronousCommand as our example. To learn more, see Add a Custom Script to Windows Setup.
7 oobeSystem: Use sparingly. Most of these settings run after the user completes OOBE. The exception is the Microsoft-Windows-Deployment\Reseal\Mode = Audit setting, which we’ll use to bypass OOBE and boot the PC into audit mode.
If your script relies on knowing which language the user selects during OOBE, you’d add it to the oobeSystem pass.
To learn more, see Windows Setup Configuration Passes.
These settings could be lost if the user resets their PC with the built-in recovery tools. To see how to make sure these settings stay on the device during a reset, see Sample scripts: Keeping Windows settings through a recovery.
Create and modify an answer file
This section walks through how to create and modify an Unattend file using tools available in the Windows Assessment and Deployment Kit. When creating an Unattend file for your deployment, you can configure different or additional settings than what is described below.
Step 1: Create a catalog file
Start Windows System Image Manager.
Click File > Select Windows Image.
In Select a Windows Image, browse to and select the image file (D:\install.wim). Next, select an edition of Windows, for example, Windows 10 Pro, and click OK. Click Yes to create the catalog file. Windows SIM creates the file based on the image file, and saves it to the same folder as the image file. This process can take several minutes.
The catalog file appears in the Windows Image pane. Windows SIM lists the configurable components and packages in that image.
If Windows SIM does not create the catalog file, try the following steps:
- To create a catalog file for either 32-bit or Arm-based devices, use a 32-bit device.
- Make sure the Windows base-image file (\Sources\Install.wim) is in a folder that has read-write privileges, such as a USB flash drive or on your hard drive.
Step 2: Create an answer file
Click File > New Answer File.
The new answer file appears in the Answer File pane.
If you open an existing answer file, you might be prompted to associate the answer file with the image. Click Yes.
Step 3: Add new answer file settings
Add OEM info:
In the Windows Image pane, expand Components, right-click amd64_Microsoft-Windows-Shell-Setup_(version), and then select Add Setting to Pass 4 specialize.
In the Answer File pane, select Components\4 specialize\amd64_Microsoft-Windows-Shell-Setup_neutral\OEMInformation.
In the OEMInformation Properties pane, in the Settings section, select:
Notebook Model 1
Create a 32-bit color graphic/logo with a maximum size of 120x120 pixels and save it as
D:\AnswerFiles\Fabrikam.bmpfile on your local PC.
We'll copy the logo into the Windows image in a few steps.
Set the device to automatically boot to audit mode:
In the Windows Image pane, expand Components, right-click amd64_Microsoft-Windows-Deployment_(version), and then select Add Setting to Pass 7 oobeSystem.
In the Answer File pane, select Components\7 oobeSystem\amd64_Microsoft-Windows-Deployment_neutral\Reseal.
In the Reseal Properties pane, in the Settings section, select Mode=
Prepare a script to run after Audit mode begins.
In the Windows Image pane, right-click amd64_ Microsoft-Windows-Deployment_(version) and then click Add Setting to Pass 6 auditUser.
In the Answer File pane, expand Components\6 auditUser\amd64_Microsoft-Windows-Deployment_neutral\RunAsynchronous. Right-click RunAsynchronousCommand Properties and click Insert New AsynchronousCommand.
In the AsynchronousCommand Properties pane, in the Settings section, add the following values:
Path = C:\Fabrikam\SampleCommand.cmd
Description = Sample command to run a system diagnostic check.
Order = 1(Determines the order that commands are run, starting with 1.)
Add a registry key. In this example, we add a
HKLM\Software\Samplewith a value of
10. This command will call
CMD /c REG ADD, just as if you were creating a registry key from the Command prompt.
Add RunAsynchronousCommands for each registry key to add. (Right-click RunAsynchronousCommand Properties and click Insert New AsynchronousCommand).
Path = CMD /c REG ADD HKEY_LOCAL_MACHINE\Software\Sample /v 10 /t REG_SZ ABCD Description = Adds a OEM registry key Order = 2 RequiredUserInput = false
See the Unattended Windows Setup Reference for a full list of configuration options.
Step 4: Save the answer file
Save the answer file, for example: D:\AnswerFiles\BootToAudit-x64.xml.
Windows SIM will not allow you to save the answer file into the mounted image folders.
Step 5: Create a script
Since we specified a script to run in Step 3.3, let's create that script now.
Copy the following sample script into Notepad, and save it as
@rem Scan the integrity of system files @rem (Required after removing the base English language from an image) sfc.exe /scannow @rem Check to see if your drivers are digitally signed, and send output to a log file. md C:\Fabrikam C:\Windows\System32\dxdiag /t C:\Fabrikam\DxDiag-TestLogFiles.txt
Add the answer file and script to the image
Step 6: Mount an image and add the answer file
Use DISM to mount a Windows image. To learn how to mount an image, see Mount and modify a Windows image using DISM
Copy the answer file into the image into the
\Windows\Pantherfolder, and name it unattend.xml. The Panther folder is one of the folders where Windows searches for an answer file. Create the folder if it doesn’t exist. If there’s an existing answer file, replace it or use Windows System Image Manager to edit/combine settings if necessary.
MkDir c:\mount\windows\Windows\Panther Copy D:\AnswerFiles\BootToAudit-x64.xml C:\mount\windows\Windows\Panther\unattend.xml MkDir c:\mount\windows\Fabrikam Copy D:\AnswerFiles\Fabrikam.bmp C:\mount\windows\Fabrikam\Fabrikam.bmp Copy D:\AnswerFiles\SampleCommand.cmd C:\mount\windows\Fabrikam\SampleCommand.cmd
Unmount the image, committing the changes. For example:
Dism /Unmount-Image /MountDir:"C:\mount\windows" /Commit
Cis the drive letter of the drive that contains the mounted image.
This process may take several minutes.
When you apply your image, Windows will process your unattend file and will configure your settings based on what you specified in the unattend.