Get started Bring yourself up to speed with our introductory content.

Customize and Provision Windows 10 Images with Windows ICD

There’s an interesting tool available in the Hardware Dev Center portion of MSDN: it’s called the Windows Imaging and Configuration Designer, aka Windows ICD. It’s designed to streamline the process of customizing and provisioning a Windows image. The home page for this tool states that it is designed to handle these tasks:

  • View all of the configurable settings and policies for a Windows 10 image or provisioning package.
  • Create Windows provisioning answer files.
  • Add third-party drivers, apps, or other assets to an answer file.
  • Create variants and specify the settings that apply to each variant.
  • Build and flash a Windows image.
  • Build a provisioning package.

Here’s the Table of Contents for digging further into this documentation (and the related tool). Note that you must first install the Windows ADK for Windows 10 before you can use this facility, and elect a specific set of options (all of which is covered in details in the “Getting Started” item below).

ICD uses a tile-based interface, and is both powerful and easy to use.
[Click image to see larger version]

Topic Description
Getting started with Windows ICD Read this topic to find out how to install and run the Windows ICD. Once you have Windows ICD running, check out the supported Windows ICD project workflows to learn about some of the things you can do using the tool.
Supported platforms for Windows ICD Provides information about:

  • Supported target images – Windows images that can be configured using Windows ICD
  • Supported host platforms – Versions of Windows 10 that can run Windows ICD
Build and apply a provisioning package You can use Windows ICD to create a provisioning package (.ppkg), which contains customizations that you can include for a particular Windows image. You can either apply the provisioning package to an image or share it as a standalone package that can be applied to a running system using the Provisioning Engine. For more information about PPKGs and how they are generated and applied, seeProvisioning packages.
Build a provisioning package with classic Windows applications Create a provisioning package that includes Classic Windows applications and other files with your Windows 10 for desktop editions (Home, Pro, Enterprise, and Education) devices. Uses:
Export a provisioning package Export a provisioning package if you want to reuse the customizations already configured in a different project or to share it as a standalone package that can be applied to a running system during initial device setup or later.
Create a provisioning package with multivariant settings Multivariant provides a generic mechanism for creating a single image that can work for multiple markets and reduce the number of images that OEMs need to create and test. It enables OEMs to dynamically configure language, branding, apps, and network settings during runtime based on the mobile operator and locale/country.

Windows 10 provisioning is an updated and enriched version of the runtime configuration or multivariant feature supported in Windows Phone 8.1. In Windows 10, multivariant is available for all Windows editions.

To provision multivariant settings, you must create a provisioning package with defined Conditions and Settings that are tied to these conditions. When you install this package on a Windows 10 device, the provisioning engine applies the matching condition settings at every event and triggers provisioning.

Build and deploy an image for Windows 10 Desktop You can use Windows ICD to create a new Windows 10 for desktop editions image and customize it by adding drivers, apps, language packs, settings, and more. You can also build the deployment media either to a folder or to a USB key.
Build and deploy an image for Windows 10 Mobile You can use Windows ICD to create a new Windows 10 Mobile image and customize it by adding settings and some assets.
Build and deploy a Windows 10 IoT Core image You can use Windows ICD to customize and create a new Windows 10 IoT Core (IoT Core) image.
Configure customizations using Windows ICD You can use Windows ICD to configure the Windows device UI, connectivity settings, and user experience to better reflect your brand, to meet mobile network requirements, to comply with IT department security requirements, or to fit market segments or regions where the device will ship.
Use the Windows ICD command-line interface You can use the Windows ICD command-line interface (CLI) to automate the building of provisioning packages and Windows 10 for desktop editions and Windows 10 Mobile or IoT Core images.

  • For OEMs who already have an established manufacturing process or for enterprise IT Pros who also have established IT management infrastructures, you can use the Windows ICD CLI to require less re-tooling of your existing processes. You must run the Windows ICD CLI from a command window with administrator privileges.
  • For OEMs that want to create an image and/or provisioning package with multivariant support, you must use the Windows ICD CLI and edit the customizations.xml sources. For more information on how to do this, see Create a provisioning package with multivariant settings. For more information about the customization XML, see Windows provisioning answer file.
Use the package splitter tool Enterprise IT professionals who want to use a barcode to provision mobile devices during OOBE can use the package splitter tool, ppkgtobase64.exe, which is a command-line tool to split the provisioning package into smaller files.