Building a Windows PE Image with Optional Components
Published: February 29, 2012
Updated: May 31, 2012
Applies To: Windows 8, Windows Server 2008 R2, Windows Server 2012
You can customize a Windows® Preinstallation Environment (Windows PE) image by modifying the base image (Winpe.wim) to add optional components and language packs. You can then add other supported customizations to complete the image that you will deploy to your customers. This topic provides a high-level overview of the customization process.
In this topic:
-
Customizing Windows PE
-
Adding an Optional Component or Language Pack
-
Selecting a Supported Optional Component
-
Troubleshooting Supported Customizations
The first step in creating a customized Windows PE image is to modify the base Windows PE image by using the Deployment Image Servicing and Management (DISM) tool. DISM extracts the files to a local directory and enables you to add and remove optional components and language packs. You can also add out-of-box drivers. For information about command-line options for DISM, see Operating System Package Servicing Command-Line Options.
The following diagram provides an overview of how to build a custom Windows PE image.
For detailed information about how to build a custom image, see Walkthrough: Create a Custom Windows PE Image. For more information about bootable methods, see Windows PE Walkthroughs and Booting Windows PE from RAM Disk.
You can customize your Windows PE image to include specific environment settings when Windows PE boots. For example, you can start customized applications by using Winpeshl.ini, define custom command-line scripts by using Startnet.cmd to start the Wpeinit tool, and define various Windows PE settings and actions by using Unattend.xml. For more information, see Windows Deployment Command-Line Tools Reference. You can also designate temporary storage to support customized applications. For more information, see How to Add an Application to Windows PE.
Windows PE supports the following customizations:
-
Adding and removing optional components and language packs from the base image
-
Setting the destination path of the Windows PE image
-
Enabling or disabling file tracing
-
Adding third-party drivers and third-party components
-
Adding Windows PE updates
-
Adding out-of-box Windows PE language packs
-
Customizing temporary storage
Selecting an optional component or language pack in Windows System Image Manager (Windows SIM) or copying an optional component directly from a subfolder of your Windows® Assessment and Deployment Kit (Windows ADK) installation does not add the optional component to the base image. These methods only copy the files to the disk so that the files are available for later addition to the image. You must use the Dism command together with the /Add-package option to install optional components on your offline image. You must add subcomponents individually. For more information, see How to Add an Optional Component to Windows PE.
Important |
|---|
| When you install each optional component and any required subcomponents on your image by using the Dism command together with the /Add-package option, you must include both the language-neutral optional component and language-specific optional component. The required language resources must be the same version as the product and must be installed on the client computer. Language resources are in a folder that has the same name as the language that is installed in the directory of optional components. |
By default, English language optional components (packs) are enabled in the English version of Windows ADK. Non-English language packs are not enabled in the English version of Windows ADK. Similarly, language packs other than the language of your Windows ADK installation are not included by default. Like any other optional component, you must install each language pack on your offline image by using the Dism command together with the /Add-package option. Selecting a language pack or language packs only copies the files to disk so that they are available for later addition to a Windows PE image. For more information, see How to Add a Language Pack to Windows PE.
The required language resources must be the same version as the image on the product media. The required language must be installed on the client computer. You can add several language packs to x86-based or x64-based Windows PE images. Language resources are in a folder that has the same name as the language that is installed in the directory of optional components. For example, the French language (fr-fr) resources are in the fr-fr folder.
Important |
|---|
| The WinPE-Rejuv and WinPE-SRT optional components on Winre.wim are for internal use in Windows 8. However, you can include the corresponding language packs in the Windows PE image, and you must install the corresponding language packs in multilingual recovery images. In Windows 8, you do not need the Windows PE language packs that are in the winpe folder of the corresponding language for Windows RE. You need only the client language packs. These language packs are in the client folder of the corresponding language. |
After you select an optional component or components, review the list of Dependencies, and follow the instructions in How to Add an Optional Component to Windows PE to install each optional component on your image by using the Dism command together with the /Add-package option. Follow the same instructions to add subcomponents. To determine whether an optional component was installed, see How to View Current Optional Components in Windows PE.
Important |
|---|
| When you add optional components, you must include both the language-neutral optional component and the language-specific optional component. You must add the language-neutral optional component first. |
Some optional components have dependencies, as follows.
-
Install WinPE-WMI before you use WinPE-NetFX4.
-
Install WinPE-WMI before you use WinPE-SecureStartup.
-
Install WinPE-WMI, WinPE-NetFX4, and WinPE-Scripting before you use WinPE-PowerShell3.
-
Install WinPE-WMI, WinPE-NetFX4, and WinPE-Scripting before you use WinPE-PowerShell3.
-
Install WinPE-PowerShell3 before you use the Windows PowerShell® cmdlets (WinPE-DismCmdlets and WinPE-StorageWMI).
-
Install WinPE-Scripting to make sure that full scripting functionality is available when you are using WinPE-NetFX4 and WinPE-HTA.
The installation order is irrelevant for obtaining full scripting functionality.
-
Install WinPE-Setup before you use WinPE-Setup-Client and WinPE-Setup-Server.
The default Windows RE image contains the following built-in optional components:
-
WinPE-EnhancedStorage
-
WinPE-Rejuv
-
WinPE-Scripting
-
WinPE-SecureStartup
-
WinPE-Setup
-
WinPE-SRT
-
WinPE-WDS-Tools
-
WinPE-WMI
Note |
|---|
| In Windows 8, the Windows® Recovery Environment (Windows RE) recovery image (Winre.wim) contains optional components that are not released. Although the WinPE-Rejuv and WinPE-SRT optional components are for internal use, you must install the corresponding language packs in multilingual scenarios. |
You can add the following optional components to offline 32-bit or 64-bit Windows PE images.
| Area | Optional component name | Description |
|---|---|---|
|
Database |
WinPE-MDAC |
WinPE-MDAC supports Microsoft® Open Database Connectivity (ODBC), OLE DB, and Microsoft ActiveX® Data Objects (ADO). This set of technologies provides access to various data sources, such as Microsoft SQL Server®. For example, this access enables queries to Microsoft SQL Server installations that contain ADO objects. You can build a dynamic answer file from unique system information. Similarly, you can build data-driven client or server applications that integrate information from a variety of data sources, both relational (SQL Server) and non-relational. |
|
File management |
WinPE-FMAPI |
New for Windows 8. WinPE-FMAPI provides access to the Windows PE File Management API (FMAPI) for discovering and restoring deleted files from unencrypted volumes. The FMAPI also provides the ability to use a password or recovery key file for the discovery and recovery of deleted files from Windows® BitLocker® Drive Encryption encrypted volumes. |
|
Fonts |
WinPE-Fonts-Legacy |
WinPE-Fonts-Legacy contains 32 font files for various languages/writing scripts. Some of these fonts are no longer used as UI fonts for Windows 8. For example, scripts such as Bengali, Devanagari, Gujarati, Gurmukhi, Kannada, Malayalam, Oriya, Tamil, Telugu, and Sinhalese were covered by Mangal, Latha, Vrinda, Gautami, Kalinga, artika, Raavi, Shruti, and Tunga, but Windows 8 has unified them all under Nirmala UI, a single, pan-Indian font. The following list shows the fonts and languages included in this optional component:
|
|
Fonts |
WinPE-Font Support-JA-JP |
WinPE-Font Support-JA-JP contains two Japanese font families that are packaged as TrueType Collection (TTC) files. MS Gothic is the Windows Japanese user interface font in versions of Windows before Windows Vista®. MS Gothic contains a large character set and embedded bitmaps to ensure legible rendering at small sizes. Meiryo, a font that was introduced in Windows Vista, is designed specifically for use in a Microsoft ClearType® rendering environment. Meiryo does not include embedded bitmaps. Instead, Meiryo relies on hinting instructions to produce legible characters at small sizes. In addition, the module contains two Japanese bitmap fonts, App932.fon and Vga932.fon. The module also contains a bitmap-only TrueType font, Jpn_font.ttf. This font is used on boot screens. |
|
Fonts |
WinPE-Font Support-KO-KR |
WinPE-Font Support-KO-KR contains three core Korean font families: Gulim, Batang and Malgun Gothic. Gulim is the legacy UI font and, as a TTC file, contains Gulim, GulimChe, Dotum and DotumChe. Batang is the legacy text font and is also a TTC file, containing Batang, BatangChe, GungSuh and GungSuhChe. Malgun Gothic, a font that was introduced in Windows Vista, is designed specifically for use in a ClearType rendering environment. Malgun Gothic does not include embedded bitmaps and instead relies on hinting instructions to produce legible characters at small sizes. |
|
Fonts |
WinPE-Font Support-ZH-CN |
WinPE-Font Support-ZH-CN contains two Chinese font families that are packaged as TTC files. Simsun is the Simplified Chinese user interface font in Windows versions before Windows Vista. Simsun contains embedded bitmaps to ensure legible rendering at small sizes. The other TTC font is MingLiu. MingLiu has embedded bitmaps and provides support for the Hong Kong Supplementary Character Set (HKSCS). YaHei, a font that was introduced in Windows Vista, is designed specifically for use in a ClearType rendering environment. YaHei does not include embedded bitmaps. YaHei relies on hinting instructions to produce legible characters at small sizes. In addition, the module contains one bitmap-only TrueType font, Chs_boot.ttf. This font is used on boot screens. |
|
Fonts |
WinPE-Font Support-ZH-HK and WinPE-Font Support-ZH-TW |
The Hong Kong and Taiwan optional components contain two Chinese font families that are packaged as TTC files. Simsun is the Simplified Chinese user interface font in Windows versions before Windows Vista. Simsun contains embedded bitmaps to ensure legible rendering at small sizes. MingLiu has embedded bitmaps and provides support for the HKSCS. JhengHei, a font that was introduced in Windows Vista, is designed specifically for use in a ClearType rendering environment. JhengHei does not include embedded bitmaps. JhengHei relies on hinting instructions to produce legible characters at small sizes. In addition, the module contains one bitmap-only TrueType font, Cht_boot.ttf. This font is used on boot screens. |
|
HTML |
WinPE-HTA |
WinPE-HTA provides HTML Application (HTA) support to create GUI applications through the Windows Internet Explorer® script engine and HTML services. These applications are trusted and display only the menus, icons, toolbars, and title information that you create. |
|
Microsoft .NET |
WinPE-NetFX4 |
New for Windows 8. WinPE-NetFX4 contains a subset of the .NET Framework 4.5 that is designed for client applications. Not all Windows binaries are present in Windows PE, and therefore not all Windows APIs are present or usable. Due to the limited API set, the following .NET Framework features have no or reduced functionality in Windows PE:
|
|
Network |
WinPE-PPPoE |
WinPE-PPPoE enables you to use Point-to-Point Protocol over Ethernet (PPPoE) to create, connect, disconnect, and delete PPPoE connections from Windows PE. PPPoE is a network protocol for encapsulating Point-to-Point Protocol (PPP) frames inside Ethernet frames. PPPoE enables Windows users to remotely connect their computers to the web. By using PPPoE, users can virtually dial from one computer to another over an Ethernet network, to establish a point-to-point connection between the computers. The computers can use this point-to-point connection to transport data packets. |
|
Network |
WinPE-RNDIS |
New for Windows 8. WinPE-RNDIS contains Remote Network Driver Interface Specification (Remote NDIS) support. WinPE-RNDIS enables network support for devices that implement the Remote NDIS specification over USB. Remote NDIS defines a bus-independent message set and a description of how this message set operates over various I/O buses. Therefore, hardware vendors do not have to write an NDIS miniport device driver. Because this Remote NDIS interface is standardized, one set of host drivers can support any number of bus-attached networking devices. |
|
Network |
WinPE-WDS-Tools |
WinPE-WDS-Tools includes APIs to enable the Image Capture tool and a multicast scenario that involves a custom Windows Deployment Services client. It must be installed if you intend to run the Windows Deployment Services client on a custom Windows PE image. |
|
Windows PowerShell |
WinPE-PowerShell3 |
New for Windows 8. WinPE-PowerShell3 contains Windows PowerShell–based diagnostics that simplify using Windows Management Instrumentation (WMI) to query the hardware during manufacturing. You can create Windows PowerShell–based deployment and administrative Windows PE–based tools. In addition to deployment, you can use Windows PowerShell for recovery scenarios. Customers can boot in Windows RE and then use Windows PowerShell scripts to resolve issues. Customers are not limited to the toolsets that run in Windows PE. Similarly, you can build scripted offline solutions to recover some computers from no-boot scenarios. You must install WinPE-NetFX4, WinPE-Scripting, and WinPE-WMI before you can use WinPE-PowerShell3. WinPE-PowerShell3 has the following known limitations:
|
|
Windows PowerShell |
WinPE-DismCmdlets |
New for Windows 8. WinPE-DismCmdlets contains DISM cmdlets for managing images, servicing, and applying Unattend.xml settings. Image management cmdlets enable DISM to access Windows images for offline servicing. The servicing changes can either be committed to the mounted Windows image, or be discarded to revert to the last saved state of the mounted Windows image. The following DISM cmdlets are available:
|
|
Windows PowerShell |
WinPE-SecureBootCmdlets |
WinPE-SecureBootCmdlets contains the Secure Boot cmdlets for managing the UEFI (Unified Extensible Firmware Interface) environment variables for Secure Boot. You must install WinPE-Powershell3 optional component before you install WinPE-SecureBootCmdlets. |
|
Windows PowerShell |
WinPE-StorageWMI |
New for Windows 8. WinPE-StorageWMI contains PowerShell cmdlets for storage management. These cmdlets use the Windows Storage Management API (SMAPI) to manage local storage, such as disk, partition, and volume objects. Or, these cmdlets use the Windows SMAPI together with array storage management by using a storage management provider. WinPE-StorageWMI also contains Internet SCSI (iSCSI) Initiator cmdlets for connecting a host computer or server to virtual disks on external iSCSI-based storage arrays through an Ethernet network adapter or iSCSI Host Bus Adapter (HBA). |
|
Recovery |
WinPE-Rejuv (language packs only) |
New for Windows 8. WinPE-Rejuv is for internal use only. The only action that you can take for this optional component is to add language packs. |
|
Recovery |
WinPE-SRT (language packs only) |
For internal use only in Windows 8. The only action that you can take for this optional component is to add language packs. |
|
Recovery |
WinPE-WinReCfg |
New for Windows 8. WinPE-WinReCfg contains the Winrecfg.exe tool, and it enables the following scenarios:
Before Windows 8, the Winrecfg.exe tool was included in the Windows 7 OEM Preinstallation Kit (Windows OPK). |
|
Scripting |
WinPE-Scripting |
WinPE-Scripting contains a multiple-language scripting environment that is ideal for automating system administration tasks, such as batch file processing. Scripts that run in the Windows Script Host (WSH) environment can call WSH objects and other COM-based technologies that support Automation, such as WMI, to manage the Windows subsystems that are central to many system administration tasks. |
|
Scripting |
WinPE-WMI |
WinPE-WMI contains a subset of the Windows Management Instrumentation (WMI) providers that enable minimal system diagnostics. WMI is the infrastructure for management data and operations on Windows-based operating systems. You can write WMI scripts or applications to automate administrative tasks on remote computers. Additionally, WMI supplies management data to other parts of the operating system and products. You must install WinPE-WMI before you can use WinPE-SecureStartup. |
|
Setup |
Winpe-LegacySetup |
Winpe-LegacySetup contains all Setup files from the \Sources folder on the Windows media. Add this optional component when you service Setup or the \Sources folder on the Windows media. You must add this optional component together with the optional component for the Setup feature. To add a new Boot.wim file to the media, add the parent WinPE-Setup, either of the children (WinPE-Setup-Client or WinPE-Setup-Server), and Media optional components. Media Setup is required to support Windows Server® 2008 R2 installation. |
|
Setup |
WinPE-Setup |
WinPE-Setup is the parent of WinPE-Setup-Client and WinPE-Setup-Server. It contains all Setup files from the \Sources folder that are common to the client and the server. You must install the WinPE-Setup parent before the child components (WinPE-Setup-Client and WinPE-Setup-Server). |
|
Setup |
WinPE-Setup-Client |
WinPE-Setup-Client contains the client branding files for the parent WinPE-Setup optional component. |
|
Setup |
WinPE-Setup-Server |
WinPE-Setup-Server includes the server branding files for the parent WinPE-Setup optional component. |
|
Startup |
WinPE-SecureStartup |
New for Windows 8. WinPE-SecureStartup enables provisioning and management of BitLocker and the Trusted Platform Module (TPM). It includes BitLocker command-line tools, BitLocker WMI management libraries, a TPM driver, TPM Base Services (TBS), the Win32_TPM class, the BitLocker Unlock Wizard, and BitLocker UI libraries. The TPM driver provides better support for both BitLocker and the TPM in this preboot environment. You must install the WinPE-WMI optional component before you install WinPE-SecureStartup. |
|
Storage |
WinPE-EnhancedStorage |
New for Windows 8. WinPE-EnhancedStorage enables Windows to discover additional functionality for storage devices, such as encrypted drives, and implementations that combine Trusted Computing Group (TCG) and IEEE 1667 ("Standard Protocol for Authentication in Host Attachments of Transient Storage Devices") specifications. This optional component enables Windows to manage these storage devices natively by using BitLocker. |
If Windows PE becomes unresponsive when it runs an application, the computer may have exceeded its memory capacity. By default, Windows PE allocates 32 megabytes (MB) of writeable memory, known as scratch space. The size of scratch space can be 32 MB, 64 MB, 128 MB, 256 MB, or 512 MB. The following example allocates 128 MB of scratch space for the image that is mounted to C:\images\mounted\.
Dism /image:C:\images\mounted\ /Set-ScratchSpace:128
Note |
|---|
| This feature is only available offline. You cannot adjust this setting when a Windows PE session is running. |
You can also use profiling to reduce the size of your custom Windows PE image. For more information, see Walkthrough: Create an Optimized Windows PE Image with Profiling.
See Also
Concepts
Windows PE OverviewWindows PE Tools
Other Resources
Windows PE WalkthroughsWindows PE How-to Topics

Important