Configuration passes are the phases of a Windows® installation during which you can customize an image. Windows unattended installation settings can be applied in one or more configuration passes, depending upon the setting you use. Understanding how and when configuration passes run is key to developing your Windows deployment strategy.

The following table describes the different configuration passes.

Configuration pass Description Configuration pass runs when

windowsPE

In this pass you can configure:

  • Windows PE options

    These options can include specifying the location of the Windows PE log file, enabling networking or a Windows PE page file.

  • Windows Setup options

    These options can include specifying the Windows image to install and configuring a disk on the destination computer.

During this configuration pass, the Windows image is copied to the destination computer after the settings in the windowsPE configuration pass are processed.

If your installation of Windows PE requires boot-critical drivers to access the local hard disk drive or a network, use this configuration pass to add drivers to the Windows PE driver store and to reflect the required boot-critical drivers

One of the following takes place:

  • Booting the Windows Setup media

  • Starting Windows Setup from a previous Windows installation

The Windows PE options are applied only when you are running Windows Setup from a Windows PE environment. The Windows Setup options are applied when running from both Windows PE or a previous Windows installation.

offlineServicing

This configuration pass is used to apply updates, drivers, or language packs to a Windows image.

During Windows Setup, the Windows image is applied to a hard disk and any settings in the offlineServicing section of an answer file are then applied to that image before the computer reboots.

During this configuration pass, you can add drivers to a Windows image before the image starts. This enables you to install and process out-of-box device drivers during Windows Setup.

This configuration pass is also used to apply updates to a Windows image during servicing scenarios.

  • Automatically after the windowsPE configuration pass and before the computer reboots.

  • During servicing scenarios when you specify an answer file with the Deployment Image Servicing and Management tool (Dism.exe).

specialize

This configuration pass is used to create and configure information in the Windows image, and is specific to the hardware that the Windows image is installing to.

After the Windows image boots for the first time, the specialize configuration pass runs. During this pass, unique security IDs (SIDs) are created. Additionally, you can configure many Windows features, including network settings, international settings, and domain information.

  • Automatically when the Windows image boots for the first time.

  • On the next boot after running the sysprep command with the /generalize option.

generalize

During this configuration pass, computer-specific information is removed from the Windows installation enabling you to capture and reapply the Windows image to different computers. For example, during this pass, the unique security ID (SID), unique device drivers, and other hardware-specific settings are removed from the image.

This configuration pass enables you to minimally configure the sysprep /generalize command, as well as configure other Windows settings that must persist on your master image.

After the generalize pass completes, the next time that Windows image boots, the specialize configuration pass runs. If you want to retain the unique device drivers that are installed to your Windows installation, you can use the Microsoft-Windows-PnpSysprep | PersistAllDeviceInstalls setting. If this setting is configured, unique device drivers are not removed from the installation. For more information, see the Windows® Unattended Setup Reference.

  • The following setting is configured: Microsoft-Windows-Deployment | Generalize.

-Or-

  • Run the sysprep /generalize command.

auditSystem

During this configuration pass, settings are processed while Windows is running in system context, before a user logs onto the computer in Audit mode.

This pass is typically used to make additional configurations to an installation, such as installing out-of-box device drivers.

This pass runs only when a computer is configured to boot to audit mode.

  • The following unattended Setup setting is configured: Microsoft-Windows-Deployment\ Reseal\ Mode=Audit. For more information, see Windows® Unattended Setup Reference.

-or-

  • Run the sysprep command with the /auditoption.

auditUser

This pass processes unattended Setup settings, after a user logs onto the computer in Audit mode.

This pass is typically used to run custom commands or configure Windows Shell options.

This pass runs only when a computer is configured to boot to audit mode.

  • The following unattended Setup setting is configured: Microsoft-Windows-Deployment\ Reseal\Mode=Audit. For more information, see Windows® Unattended Setup Reference.

-or-

  • Run the sysprep command with the /audit option.

oobeSystem

During this configuration pass, settings are applied to Windows before Windows Welcome starts.

This pass is typically used to configure Windows Shell options, create user accounts, and specify language and locale settings.

  • The following setting is configured: Microsoft-Windows-Deployment | Reseal | Mode=OOBE

-or-

  • Run the sysprep command with the /OOBE option.

The following diagram shows the relationship between the configuration passes relative to the different executable files.



Flowchart of configuration passes and executables
Note:

Not all configuration passes run in a given installation of Windows. Some configuration passes, such as auditSystem and auditUser, run only if you boot the computer to audit mode.

Configuring Device Drivers

To add out-of-box, boot-critical drivers during an unattended installation, you must ensure that the boot-critical driver is available on preinstallation media. Boot-critical drivers should be added during the windowsPE configuration pass. All drivers are staged in the driver store, but only boot-critical drivers are reflected or installed in the offline Windows image as well as in the Windows PE image. Non-boot-critical drivers can be added to the offlineServicing configuration pass. This ensures that boot-critical drivers are available and when the computer boots, the driver will load.

For more information, see Understanding Device Drivers and Deployment.

Configuring International Settings

International settings are available in multiple configuration passes, to enable you to customize the Windows image based on customer requirements and different deployment scenarios.

For example, if you build a computer in the United States (which would be an en-US international setting), you might perform all your tests in English. However, if you intend to deliver the computer to France and need Windows to boot in French, you can add the fr-FR language pack, if the language pack is not already installed, and then configure the Microsoft-Windows-International-Core component to apply fr-FR settings during the specialize configuration pass. When the computer boots, the installation will display English text. However, after the specialize configuration pass completes, French text will be displayed.

You can use DISM.exe to configure the language settings of a Windows image (either online or offline). For more information, see Languages and International Servicing Command-Line Options.

By default, Windows Welcome displays a Regional Settings user interface (UI) page for the end user to select default language, locale, and input settings. You can preconfigure the settings on this UI page by specifying language and locale settings in the oobeSystem configuration pass in the Microsoft-Windows-International-Core component. If settings are set in oobeSystem configuration pass, the Regional Settings page is skipped. If language settings are configured during specialize, the Regional Settings page will be displayed.

For more information, see Understanding Multilingual Deployments.

Configuration Passes Examples

The following sections describe sample deployment scenarios and describe when configuration passes run.

To run Windows Setup

In this scenario, you install Windows to a new computer. You start with the Windows product media and an answer file.

  1. Run Windows Setup and specify an answer file. Windows Setup starts.

  2. The windowsPE configuration pass runs. Settings in the <settings pass="windowsPE"> section of an answer file are processed. There are two different types of settings that you can configure during the windowsPE configuration pass: Settings that apply to the Windows PE environment, such as the display resolution and log file locations for Windows PE. You can also specify settings that apply to the Windows installation, such as configuring disk partitions or enabling dynamic updates.

    • The Windows PE-specific settings in an answer file are applied only when you are running Windows Setup from a Windows PE environment.

    • The Windows Setup options in the windowsPE configuration pass are applied when running from either Windows PE or a previous Windows installation.

  3. After the Windows image is copied to the hard disk, the offlineServicing configuration pass runs. Any settings in the <servicing> and <settings pass="offlineServicing"> section of an answer file are applied to the Windows image. Typically, the actions in this configuration pass install or remove packages, language packs, or device drivers.

  4. The system restarts and Windows Setup runs the specialize configuration pass. At this point, settings in the <settings pass="specialize"> section of the answer file are processed.

  5. After Windows Setup completes, the computer restarts. Then, the oobeSystem configuration pass runs and settings in the <settings pass="oobeSystem> section of an answer file are processed.

    Note:

    You can create a separate content file called Oobe.xml that you can use to customize Windows Welcome, Getting Started, and ISP sign up. Using Oobe.xml is beneficial for organizing these customizations, because it enables you to maintain a single file that lists all of the branding, license terms, and signup opportunities for multiple countries, regions and/or languages. For more information, see Oobe.xml Technical Reference. Generally, Oobe.xml is used by OEMs and System Builders. However some aspects of Oobe.xml might also benefit corporate deployment scenarios.

  6. Windows Welcome starts and you can begin using the computer.

To run the Sysprep /generalize /shutdown command

In this scenario, you will create a reference Windows image to use throughout your environment. You start with a customized Windows installation.

  1. Run the sysprep command with the /generalize /shutdown /oobe options, to create a master image, configure the computer to boot to Windows Welcome, and then shut down the computer.

  2. The settings in the <settings pass="generalize"> section of an answer file are applied.

    • If you did not specify an answer file with the Sysprep command, the answer file cached to the computer will be used. For more information about using answer files, see Methods for Running Windows Setup.

    • If you specified an answer file with the sysprep command, that answer file is cached to the %WINDIR%\Panther directory of the Windows installation and will be used on subsequent configuration passes.

  3. The computer shuts down, enabling you to boot to Windows PE or another operating system and capture the image. The next time the Windows image boots, the specialize configuration pass will run and Windows will boot the computer to Windows Welcome.

Using a Script to Deploy a Windows Image

In this scenario, you boot the computer with a master image on which the sysprep /generalize /shutdown /oobe command was run and the image was captured. You start with a master image, Windows PE and the ImageX tool.

  1. Apply the master image to a computer by using the ImageX command with the /apply option.

  2. Boot the computer with the master image. Windows starts.

  3. The specialize configuration pass runs. Settings in the <settings pass="specialize"> section of the answer file are processed.

  4. The computer restarts.

  5. The oobeSystem configuration pass runs. Settings in the <settings pass="oobeSystem"> section of the answer file are processed.

  6. Windows Welcome starts and you can begin using your computer.

To boot Windows to audit mode

In this scenario, you boot a Windows image that is configured to start in audit mode. Audit mode is useful for adding custom applications, drivers, and other updates to a master image. You can configure a Windows image to boot the computer to audit mode by configuring the following setting in an answer file: Microsoft-Windows-Deployment | Reseal | Mode=Audit or, run the Sysprep command with the /audit option.

  1. Configure the Windows image to boot the computer to audit mode. In this scenario, run the sysprep command with the /audit /reboot options.

  2. Windows reboots the computer.

  3. The auditSystem configuration pass runs. Settings in the <settings pass="auditSystem"> section of the answer file are processed.

  4. The Built-in administrator account is enabled.

  5. The auditUser configuration pass runs. Settings in the <settings pass="auditUser"> section of the answer file are processed.

  6. The desktop appears.

The next time you reboot the computer, it will boot to audit mode again.

To configure the computer to boot to Windows Welcome, you must use the sysprep command with the /oobe option, or configure the Microsoft-Windows-Deployment | Reseal | Mode setting to oobe in an answer file.

To run Dism.exe against an offline Windows image

In this scenario, you run the Deployment Image Servicing and Management (Dism.exe) tool against an offline Windows image.

  1. Run the Dism.exe tool against an offline Windows image and specify an answer file. For example, to list the package in an offline Windows image, use the following command: Dism /image:C:\test\offline /Get-Packages

    For more information, see Deployment Image Servicing and Management Command-Line Options.

  2. Settings in the <servicing> and <settings pass="offlineServicing"> sections of an answer file are applied to the Windows image. The next time you boot your computer, the packages and settings are processed.

To use Dism.exe on a running Windows image

In this scenario, you run the Dism.exe tool against a running Windows installation.

  1. Run the Dism.exe tool against an online Windows image and specify an answer file. For example, to list driver information in a Windows image, use the following command: Dism /online /Get-Drivers

    For more information, see Deployment Image Servicing and Management Command-Line Options.

    Important:

    When you use DISM.exe with an answer file against an online Windows installation, the answer file should contain only the elements in the offlineServicing configuration pass. This is because some settings in the specialize configuration pass might be applied to the online Windows installation.

In some instances, you might be required to restart your computer. For example, if you add a language pack to your Windows installation, you must reboot the computer.

See Also