- Use Answer Files with Sysprep
- Running Sysprep an Unlimited Number of Times
- Applying Settings in the generalize, auditSystem, and auditUser Configuration Passes
- Caching Answer Files to the Computer
- Persisting Plug and Play Device Drivers During the generalize Configuration Pass
- Displaying RunSynchronous Actions in an Answer File
- Answer files (unattend.xml)
- Windows settings overview
- Answer file settings
- Create and modify an answer file
- Step 1: Create a catalog file
- Step 2: Create an answer file
- Step 3: Add new answer file settings
- Add the answer file and script to the image
- Step 6: Mount an image and add the answer file
Use Answer Files with Sysprep
You can use an answer file together with the System Preparation (Sysprep) tool to configure unattended Windows Setup settings. This topic describes some considerations and processes for using answer files together with Sysprep. For more information about Windows components and settings that you can add to an answer file, see the Unattended Windows Setup Reference.
Running Sysprep an Unlimited Number of Times
If you specify a product key, Windows is automatically activated, and you can run the Sysprep command an unlimited number of times. To automatically activate Windows by supplying a product key, specify a valid product key in the Microsoft-Windows-Shell-Setup\ ProductKey unattend setting during the specialize configuration pass. If you don’t automatically activate Windows by providing a product key, Windows prompts the end user for a product key.
Applying Settings in the generalize, auditSystem, and auditUser Configuration Passes
Not all configuration passes run during WindowsВ Setup. The generalize, auditSystem, and auditUser configuration passes are available only when you run Sysprep.
If you add settings to your answer file in these configuration passes, you must run Sysprep to apply these settings as follows:
To apply the settings in the auditSystem and auditUser configuration passes, you must boot in audit mode by using the Sysprep/audit command.
To apply the settings in the generalize configuration pass, you must use the Sysprep/generalize command. The generalize configuration pass removes the system-specific settings so that you can deploy the same image on multiple computers.
Caching Answer Files to the Computer
If you install Windows by using an answer file, that answer file is cached to the system. When later configuration passes run, the computer applies settings in that answer file to the system. Because this answer file is cached, when you run the Sysprep command, the system applies settings in the cached answer file. If you use the settings in a different answer file, you can specify a separate Unattend.xml file by using the Sysprep /unattend: option. For more information, see Sysprep Command-Line Options. For more information about how to use an implicit answer-file search, seeWindows Setup Automation Overview.
Persisting Plug and Play Device Drivers During the generalize Configuration Pass
You can persist device drivers when you run the Sysprep command together with the /generalize option. To do this, specify the PersistAllDeviceInstalls setting in the Microsoft-Windows-PnPSysprep component. During the specialize configuration pass, Plug and Play scans the computer for devices, and then installs device drivers for the detected devices. By default, the computer removes these device drivers from the system when you generalize the system. If you set the Microsoft-Windows-PnPSysprep\ PersistAllDeviceInstalls setting to true in an answer file, Sysprep doesn’t remove the detected device drivers.
Displaying RunSynchronous Actions in an Answer File
In audit mode, you can view the status for Microsoft-Windows-Deployment\ RunSynchronous commands that run during the auditUser configuration pass. The AuditUI window displays the status for commands and provides these:
Visual progress to indicate that an installation is continuing and not suspended.
Visual indication of when and where failures occur. This provides a quick diagnosis if the command doesn’t create log files.
If the answer file contains Microsoft-Windows-Deployment\ RunSynchronous commands in the auditUser configuration pass, a list of the commands appears in the AuditUI window. The commands appear in the order that the Microsoft-Windows-Deployment\ RunSynchronous \ RunSynchronousCommand \ Order setting specifies. Each list item in the user interface is the string from one of these:
Microsoft-Windows-Deployment\ RunSynchronous \ RunSynchronousCommand \ Description (if present)
Microsoft-Windows-Deployment\ RunSynchronous \ RunSynchronousCommand \ Path
Sysprep processes all RunSynchronous commands in order. If the command succeeds, its related list item receives a green check-mark annotation. If the command fails, its related list item receives a redВ X annotation. If the command requests a reboot, the AuditUI window appears after the boot, but only unprocessed list items appear. Previously processed items no longer appear in the AuditUI window. If the list of items in the AuditUI window exceeds the height of the display, the list is truncated to the display and doesn’t scroll. As a result, you may not be able to see some items.
WindowsВ Setup interprets the return codes as status values in the AuditUI window. A zero value indicates a success. A nonzero value indicates a failure. The return value of the command might affect the behavior of WindowsВ Setup, depending on the value of the Microsoft-Windows-Deployment\ RunSynchronous \ RunSynchronousCommand \WillReboot setting.
If the WillReboot command is set to Always:
If the command returns 0, its related list item receives a green check-mark annotation. A reboot immediately occurs.
If the command returns a nonzero number, its related list item receives a redВ X annotation. A reboot immediately occurs. A nonzero return value isn’t treated as a fatal error when WillReboot is set to either Always or Never.
If the WillReboot command is set to Never:
If the command returns 0, its related list item receives a green check-mark annotation.
If the command returns a nonzero number, its related list item receives a redВ X annotation. A nonzero return value isn’t treated as a fatal error when WillReboot is set to either Always or Never.
If the WillReboot command is set to OnRequest:
If the command returnsВ 0, its related list item receives a green check-mark annotation.
If the command returnsВ 1, its related list item receives a green check-mark annotation. A reboot immediately occurs.
If the command returnsВ 2, its related list item temporarily receives a green check-mark annotation. A reboot immediately occurs. After the reboot, the related list item appears again in the AuditUI window without annotation because the command is still in process.
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 Setup will automatically search for answer files in certain locations, or you can specify an unattend file to use by using the /unattend: option when running Windows Setup (setup.exe).
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:
1 windowsPE: These settings are used by the Windows Setup installation program. If you’re modifying existing images, you can usually ignore these settings.
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.
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
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.
Troubleshooting: 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.
NoteВ В 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
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:
- Manufacturer= Fabrikam
- Model= Notebook Model 1
- Logo= C:\Fabrikam\Fabrikam.bmp
Create a 32-bit color with a maximum size of 120×120 pixels, save it as D:\AnswerFiles\Fabrikam.bmp file on your local PC, or use the sample from the USB-B key: D:\ConfigSet\$OEM$\$$\System32\OEM\Fabrikam.bmp .
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= Audit .
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:
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 keys for the OEM Windows Store program. Use the same process as adding a script, using CMD /c REG ADD .
For Windows 10 Customer Systems, you may use the OEM Store ID alone or in combination with a Store Content Modifier (SCM) to identify an OEM brand for the OEM Store. By adding a SCM, you can target Customer Systems at a more granular level. For example, you may choose to target commercial devices separately from consumer devices by inserting unique SCMs for consumer and commercial brands into those devices.
Add RunAsynchronousCommands for each registry key to add. (Right-click RunAsynchronousCommand Properties and click Insert New AsynchronousCommand).
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.
NoteВ В 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, let’s create that script now.
Copy the following sample script into Notepad, and save it as D:\AnswerFiles\SampleCommand.cmd.
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\Panther folder, 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.
Unmount the image, committing the changes. For example:
where C is 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.