Optional features for building mobile images

You can add optional features to images by including them under the Features element in the OEMInput XML file. Adding a feature will add the packages associated with the feature to the image. Some features can only be used with certain types of images. For more information about using optional features, see Building an image using ImgGen.cmd.

Updates should be tested by submitting OS update requests using the Ingestion Client and verifying successful OS updates.

Conditional features

If a device meets the installation conditions listed for a feature in the following table, then the update path for the device will fail unless the feature is installed. For example, if there’s an update for Rich Communications Suite Platform support for Windows 10 Mobile, and you removed that feature from a device that’s otherwise capable of using it, then that entire update package (and all subsequent updates) will fail to install. To get updates again, you need to deliver an image that includes the feature to customers, and have them re-flash the device.

Feature name and ID Update Path Condition
Rich Communications Suite Platform support (RCS_FEATURE_PACK) Windows 8.1 to Windows 10

Install if PhoneManufacturer=NOKIA

Update if installed

Nearby Numbers/Block and Filter (MS_COMMSENHANCEMENT* apps) Windows 8.1 to Windows 10

Install MS_COMMSENHANCEMENTCHINA if HKEY_LOCAL_MACHINE\system\Platform\DeviceTargetingInfo\phoneromlanguage = 0804. Update if it’s already installed.

Install MS_COMMSENHANCEMENTGLOBAL if HKEY_LOCAL_MACHINE\system\Platform\DeviceTargetingInfo\phoneromlanguage <> 0804. Update if it’s already installed.

 

Retail features defined by Microsoft

The following table describes the Microsoft-defined features that can be used by OEMs in the Features element in the OEMInput file for retail devices.

Refer to the Mobile Operator guides for any additional retail features that are used for specific mobile operators.

Feature Description

OPTIMIZED_BOOT

Modifies the behavior of the OS boot process to start some system processes and services before all device drivers are started. Enabling this feature may decrease boot time, but it may also cause regressions in boot behavior in some scenarios.

STANDARD_FEATURE_1

This feature includes standard features that must be included in all images.

NETLOG_RETAIL

This feature adds network capture logging to assist in troubleshooting network connectivity issues. This feature is used to gather network diagnostic information by Field Medic.

NAVIGATIONBAR

This feature adds a phone setting that enables users to configure the color of the software buttons.

FACEBOOK

This feature includes Facebook in the image.

SKYPE

This feature includes the Skype Windows Phone Silverlight app in the image.

BINGAPPS

This feature adds Bing News, Finance, Sports and Weather.

BINGFOOD

This feature adds Bing Food & Drink.

BINGHEALTH

This feature adds Bing Health & Fitness.

BINGTRAVEL

This feature adds Bing Travel.

WIFI_FEATURE_PACK

This feature removes all cellular-related functionality from the operating system and is intended only for devices that will not be connected to a cellular network. It removes all cellular related tiles, icons, and settings from the user interface. Including this feature reduces memory usage and improves the user experience by not displaying nonfunctional cellular settings and icons.

RELEASE_PRODUCTION

Deprecated, no longer in use.

COMMSENHANCEMENTGLOBAL

The feature includes message and call filtering application in image.

COMMSENHANCEMENTCHINA

The feature includes message&call filter, call location, and category application in the image. It’s used for China only.

4GBFEATURESONDATA

On devices with 4GB of storage, provisioned packages are stored on the data partition.

8GBFEATURESONSYSTEM

On devices with 8GB of storage, provisioned packages are stored on the OS partition.

8GBFEATURESONDATA

On devices with 8GB of storage, provisioned packages are stored on the data partition.

Note  We strongly recommend that you also use 8GBFEATURESONSYSTEM when you specify this feature.
 

16GBFEATURESONSYSTEM

On devices with 16GB of storage, provisioned packages are stored on the OS partition.

SPATIALSOUND_FILTERDATA

Contains all the data files and registry keys necessary to enable Spatial Audio functionality on a mobile device. Spatial audio is used to make audio sound like it is coming from a specific direction, and to make the audio sound like it exists naturally inside a specific type of room.

TAIWAN_ENABLEMENT

Remove Taiwan references from the image.

MYANMAR_ZAWGYI_ENABLEMENT

Enable this image to use the Zawgyi encoding in Myanmar. You should also add the Zawgyi keyboard when adding this feature.

SOCProdTest_HSTI

This feature installs the correct driver for the security watermark checks and is required for Windows 10 Mobile. If this package is not installed, you will see the Not For Retail watermark.

Important  This feature must be included in your OS image. If this feature is not included, the device might not boot.
 

ATTWIFI

This feature installs a third-party plugin that allows devices with an AT&T SIM to automatically connect to AT&T hotspots.

DISABLE_ABNORMAL_RESET

This feature disables abnormal resets and does not report it to Watson.

Docking

This feature enables Continuum for Windows 10 Mobile.

RESET_PROTECTION

This feature enables Reset Protection on a retail image. When the device boots for the first time, the appropriate secure UEFI variable are written.

PERF_TRACING_TOOLS

Contains tools for doing performance analysis, such as tools for stopping and merging ETL tracing.

ENABLE_BOOT_PERF_BASIC_TRACING

Enables boot performance tracing events to be generated.

ENABLE_BOOT_PERF_CPU_PROFILING_TRACING

Enables CPU profiling events. in addition to the boot performance tracing events that are enabled with ENABLE_BOOT_PERF_BASIC_TRACING.

MESSAGINGGLOBAL

This feature installs the Messaging package that includes Skype integration. It must be used for any devices except those being submitted for NAL certification in China.

MESSAGINGLITE

This feature installs the Messaging package without Skype integration. It must be used for any phone or other device that is submitted for NAL certification in China (excluding Hong Kong SAR and Macau).

SPATIALSOUND_FILTERDATA

This feature installs Spatial sound.

 

Retail boot sequence settings

The next two settings control the phone start up. Only one can be selected.

BOOTSEQUENCE_RETAIL

This feature enables the standard retail boot sequence.

 

Microsoft internal retail features

The following components are reserved for Microsoft internal use only, but are documented here for completeness.

SELFHOST

This feature adds components used exclusively for self-hosting scenarios in Microsoft.

FieldMedicCustomProfiles

This feature adds additional tracing profiles used by Field Medic.

RESET_PROTECTION_INTERNAL

This feature enables Reset Protection on a test image. When the device boots for the first time, the appropriate secure UEFI variable are written.

 

Retail Demo Experience features

The Retail Demo Experience FOD contains offline retail demo content that is critical to a great retail demo experience. This offline content contains Windows and Office content that is shown along with any OEM or Retailer retail demo content. Adding of this Retail Demo Experience FOD is required and necessary for any OEMs participating in enabling a Retail Demo Experience on their Windows 10 devices.

  • MS_RETAILDEMOCONTENT_AR-SA
  • MS_RETAILDEMOCONTENT_BG-BG
  • MS_RETAILDEMOCONTENT_CS-CZ
  • MS_RETAILDEMOCONTENT_DA-DK
  • MS_RETAILDEMOCONTENT_DE-DE
  • MS_RETAILDEMOCONTENT_EL-GR
  • MS_RETAILDEMOCONTENT_EN-GB
  • MS_RETAILDEMOCONTENT_EN-US
  • MS_RETAILDEMOCONTENT_ES-ES
  • MS_RETAILDEMOCONTENT_ES-MX
  • MS_RETAILDEMOCONTENT_ET-EE
  • MS_RETAILDEMOCONTENT_FI-FI
  • MS_RETAILDEMOCONTENT_FR-CA
  • MS_RETAILDEMOCONTENT_FR-FR
  • MS_RETAILDEMOCONTENT_HE-IL
  • MS_RETAILDEMOCONTENT_HR-HR
  • MS_RETAILDEMOCONTENT_HU-HU
  • MS_RETAILDEMOCONTENT_ID-ID
  • MS_RETAILDEMOCONTENT_IT-IT
  • MS_RETAILDEMOCONTENT_JA-JP
  • MS_RETAILDEMOCONTENT_KO-KR
  • MS_RETAILDEMOCONTENT_LT-LT
  • MS_RETAILDEMOCONTENT_LV-LV
  • MS_RETAILDEMOCONTENT_NB-NO
  • MS_RETAILDEMOCONTENT_NEUTRAL
  • MS_RETAILDEMOCONTENT_NL-NL
  • MS_RETAILDEMOCONTENT_PL-PL
  • MS_RETAILDEMOCONTENT_PT-BR
  • MS_RETAILDEMOCONTENT_PT-PT
  • MS_RETAILDEMOCONTENT_RO-RO
  • MS_RETAILDEMOCONTENT_RU-RU
  • MS_RETAILDEMOCONTENT_SK-SK
  • MS_RETAILDEMOCONTENT_SL-SI
  • MS_RETAILDEMOCONTENT_SR-LATN-RS
  • MS_RETAILDEMOCONTENT_SV-SE
  • MS_RETAILDEMOCONTENT_TH-TH
  • MS_RETAILDEMOCONTENT_TR-TR
  • MS_RETAILDEMOCONTENT_UK-UA
  • MS_RETAILDEMOCONTENT_VI-VN
  • MS_RETAILDEMOCONTENT_ZH-CN
  • MS_RETAILDEMOCONTENT_ZH-HK
  • MS_RETAILDEMOCONTENT_ZH-TW

Test features defined by Microsoft

The following table describes the Microsoft-defined test features that can be used by OEMs in the Features element in the OEMInput file. These features are defined in MSOptionalFeatures.xml, which is included with the MobileOS under %WPDKCONTENTROOT%\FMFiles.

Boot option features

Feature Description

BOOTSEQUENCE_TEST

This feature includes the BCD boot sequence configuration for booting into the full OS in a test image. This feature also includes a pre-boot crash dump application and a pre-boot crash dump entry.

Note  

The following features are mutually exclusive; only one of them can be referenced in an OEMInput file: BOOTSEQUENCE_TEST, MMOSLOADER_TEST.

 

MMOSLOADER_TEST

This feature includes the BCD boot sequence configuration to support booting into MMOS in a test image. This feature also includes a pre-boot crash dump application and a pre-boot crash dump entry. For more information about MMOS, see MMOS image definition.

Note  

The following features are mutually exclusive; only one of them can be referenced in an OEMInput file: BOOTSEQUENCE_TEST, MMOSLOADER_TEST.

 

MOBILECOREBOOTSH

Enables the bootsh service (bootshscv) so that startup.bsc features, such as telnet and ftp, can be used.

MOBILECORE_TEST

Information on this feature will be provided in a later release of this documentation.

PRODUCTION

Includes core OS files that are used to support base OS functionality for production builds in the main OS, UEFI and the update OS. This feature is used for PRODUCTION Image types.

PRODUCTION_CORE

This feature adds production boot and main OS binaries to the image. PRODUCTION_CORE automatically includes the following features:

  • CODEINTEGRITY_PROD

Because these features are already included, they should not be manually included in PRODUCTION_CORE builds.

DISABLE_FFU_PLAT_ID_CHECK

Disables the device platform validation in the Microsoft flashing application. For more information about the platform check in flashing, see Use the flashing tools provided by Microsoft.

Important  

The device platform validation for flashing must not be disabled in retail images.

 

RESET_PROTECTION_INTERNAL

This feature enables Reset Protection on the device. When the device boots for the first time, the appropriate secure UEFI variable are written.

 

Boot option feature constraints

You can specify feature constraints to avoid illogical or inappropriate build configurations.

Some settings are mutually exclusive and only one setting should be specified at a time. For example, consider the features, RELEASE_PRODUCTION and RELEASE_TEST. These features are mutually exclusive. This means that if RELEASE_TEST is set, RELEASE_PRODUCTION must not be set. For more information about how constraints are specified in XML see, Feature groupings and constraints.

When <ReleaseType>Production</ReleaseType> is set in the OEMInput file, this maps to RELEASE_PRODUCTION. When <ReleaseType>Test</ReleaseType> is set in the OEMInput file, this maps to RELEASE_TEST. For more information about the release type, see OEMInput file contents.

The release constraints for RELEASE_PRODUCTION can be summarized as follows.

  • Either RELEASE_PRODUCTION or CODEINTEGRITY_PROD can be selected. This is because production code integrity is automatically enabled when RELEASE_PRODUCTION is selected and therefore can’t be manually enabled.

These feature constraints can be used to prevent incorrect build option configurations. These feature constraints specify that PRODUCTION_CORE is mutually exclusive with RELEASE_PRODUCTION and TEST but is not mutually exclusive with HEALTH, PRODUCTION, or SELFHOST.

This table provides a summary of build options and indicates if the option is exclusive to any other option.

RELEASE_PRODUCTION TEST HEALTH PRODUCTION SELFHOST PRODUCTION_CORE

RELEASE_PRODUCTION

NA

Yes

Yes

Yes

Yes

Yes

TEST

Yes

NA

Yes

Yes

Yes

Yes

HEALTH

Yes

Yes

NA

Yes

Yes

No

PRODUCTION

Yes

Yes

Yes

NA

Yes

No

SELFHOST

Yes

Yes

Yes

Yes

NA

No

PRODUCTION_CORE

Yes

Yes

No

No

No

NA

 

Feature Description

STARTUPOVERRIDES

This feature starts the FTP service (ftpd.exe) and Telnet service (telnetd.exe) automatically on startup.

LABIMAGE

This feature causes the device to enter the FFU download mode automatically when the device is booted. For more information, see Use the flashing tools provided by Microsoft.

BOOTKEYACTIONS_RETAIL

This feature enables a set of button actions for use in retail devices.

SKIPOOBE

This feature disables the initial setup process wizard. This feature is supported in Test, Health and Production image types. This feature must not be used in Retail images.

 

There are two code signing modes on a Windows 10 Mobile device, retail and test. With retail, all code must be production signed to be able to run on the device. For test signing, all code must be signed with test certificates. For more information about code signing, see Code signing.

The two code signing modes are automatically managed in the build system. The previous DISABLETESTSIGNING and ENABLETESTSIGNING feature settings are no longer used. Instead test code signing is automatically enabled in the following build types:

  • TEST

  • HEALTH

  • PRODUCTION

  • SELFHOST

Test code signing cannot be enabled in the RELEASE_PRODUCTION build type that is used for retail devices

The following table summarizes the security related features.

Feature Description

CODEINTEGRITY_PROD

This feature includes code integrity binaries that are used for signature verification on production images. Code integrity verifies the integrity of binary files as they are loaded into memory by the operating system. This feature is automatically included when PRODUCTION_CORE is selected. Because of this, CODEINTEGRITY_PROD should not be manually added when PRODUCTION_CORE is selected.

CODEINTEGRITY_TEST

This feature includes code integrity binaries that are used for signature verification on test images. Code integrity verifies the integrity of binary files as they are loaded into memory by the operating system.

GWPCERTTESTPROV

This feature provisions a set of test Genuine Windows Phone Certificates (GWPC) certificates in the image.

 

Feature Description

TEST

This feature adds many test drivers, applications, and other components to be used for testing the OS in different conditions.

TESTINFRASTRUCTURE

This feature adds the following components to the image:

  • MinTE.exe and other components that support a minimal test harness environment for Test Authoring and Execution Framework (TAEF) tests.

  • The Verifier.cmd script, which is used to configure Driver Verifier.

  • Tux.exe and other components related to the Tux test harness for native code.

  • TuxNet.exe and other components related to the TuxNet test harness for managed code.

HEALTH

This feature adds components for running tests related to power and performance.

DRIVERS_WDTFINFRA

Information on this feature will be provided in a later release of this documentation.

DRIVERS_WDTFPOWER

Information on this feature will be provided in a later release of this documentation.

DRIVERS_WDTFPLGINS

Information on this feature will be provided in a later release of this documentation.

DRIVERS_WDTFDRVCOV

Information on this feature will be provided in a later release of this documentation.

DRIVERS_WDTFIOSPY

Information on this feature will be provided in a later release of this documentation.

 

Use the following settings to specify the transport that is used for debugging. The previous DEBUGGERON feature has been deprecated.

Feature Description

Debug transport settings

KDNETUSB_ON

Includes all kernel debugger transports and enables KDNET over USB.

The default debug transport settings for this feature are an IP address of "1.2.3.4", a port address of "50000", and a debugger key of "4.3.2.1". To use the default IP address of 1.2.3.4, run VirtEth.exe with the /autodebug flag. To establish a kernel debugger connection to the phone, use the following command.

Windbg –k net:port=50000,key=4.3.2.1

KDUSB_ON

Includes all kernel debugger transports and enables KDUSB.

The default debug transport target name for this feature is WOATARGET. To establish a kernel debugger connection to the phone, use the following command.

Windbg –k usb:targetname=WOATARGET

Note  

Do not include either KDUSB_ON or KDNETUSB_ON if you need to enable MTP or IP over USB in the image. If the kernel debugger is enabled in the image and the debug transports are used to connect to the device, the kernel debugger has exclusive use of the USB port and prevents MTP and IP over USB from working.

 

KDSERIAL_ON

Includes all kernel debugger transports and enables KDSERIAL with the following settings: 115200 Baud, 8 bit, no parity.

KD

Includes all kernel debugger transports in the image, but does not enable the kernel debugger.

KD_TEST

Includes all kernel debugger transports in the image, but does not enable the kernel debugger.

KDNETUSB_TEST_ON

Includes all kernel debugger transports and enables KDNET over USB in test images. This option must only be used with test images.

 

Other debug settings

Feature Description

Dumpsize setting features - The following three features must only be used with the Test and Health image types. These features must not be used with retail images. Only one dumpsize setting can be selected at a time.

DUMPSIZE512MB

Specifies a pre-allocated crash dump file size of 592 MB. This is intended for a phone with 512 MB of memory.

DUMPSIZE1G

Specifies a pre-allocated crash dump file size of 1104 MB. This is intended for a phone with 1024 MB of memory.

DUMPSIZE2G

Specifies a pre-allocated crash dump file size of 2128 MB. This is intended for a phone with 2048 MB of memory.

DUMPSIZE4G

Specifies a pre-allocated crash dump file size of 4 GB. This is intended for a phone with 4096 MB of memory.

Dump data storage location - The next two settings control if crash dump data is stored on eMMC or if crash dump data is stored on an SD card. Only one of these settings can be selected at a time. These two features must only be used with the Test, Health and Selfhost image types. These features must not be used with retail images.

DEDICATEDDUMPONEMMC

Specifies that the DedicatedDumpFile location as c:\crashdump\dedicateddump.sys.

DEDICATEDDUMPONSD

DEDICATEDDUMPONSD – Specifies that the DedicatedDumpFile location as d:\dedicateddump.sys

When DEDICATEDDUMPONSD is used, crash dump will be disabled if the user removes the SD card or if the card is not present when the device booted. To re-enable crash dump:

  1. Set this registry key HKLM\System\CurrentControlSet\Control\CrashControl\CrashDumpEnabled to the value of HKLM\System\CurrentControlSet\Control\CrashControl\ExpectedCrashDumpEnabled

  2. Reboot the phone.

Test disk idle power behavior - The next two settings determine if storage devices (internal and SD card) can enter into a low power state after they become idle. They must not be used with retail images.

TEST_ENABLE_DISK_IDLE

This feature will allow the storage devices (internal and SD card) to go into a low power state shortly after they become idle. This setting may prevent the collection of crashdumps on the MSM8960 processor devices. If crashdumps need to be gathered from an MSM8960 device, use the TEST_DISABLE_DISK_IDLE feature instead.

TEST_DISABLE_DISK_IDLE

This feature will prevent the storage devices (internal and SD card) from going into a low power state after they become idle. This setting should be used if crashdumps need to be gathered from MSM8960 devices.

DRVRF_SIPLAT

Sets driver verifier parameters for OEM and SoC drivers. This feature sets the VerifyDriverLevel to a value of 002209BB and VerifierOptions to 00000009. Windows drivers provided by Microsoft are excluded using the VerifyDrivers key. You can use the following debug command to list the drivers that are being verified in your environment.

!verifier 1    

DBGCHKDISABLE

This feature disables debugger connection checking and the debugger connection status is ignored.

The effect on the debugger behavior is different depending on the SoC that is being used.

  • For QC8x26 and QC8974 devices, include DBGCHKDISABLE to ensure that offline dumps will be generated even if the device is connected to a debugger. Otherwise, an Offline Dump (Bug Check Code 0x14C dump) will not be created but a raw dump will still be created.

  • For 8960 devices, include DBGCHKDISABLE to ensure that offline dumps will be generated even if the device is connected to a debugger. Otherwise, an Offline Dump (i.e. Bug Check Code 0x14C dump) will not be created.

MSVCRT_DEBUG

This feature adds support for explicit linking of debug c-runtime libs by including msvcp120d.dll and msvcr120d.dll in the image. For more information, see this topic on MSDN: CRT Library Features.

MWDBGSRV

This feature adds support for the user mode debug server.

NOLIVEDUMPS

Disables non-fatal kernel error reports.  These reports contain debugging information for OS and driver developers.

TELEMETRYONSDCARD

This feature enables temporary storage of debugging logs and files on the SD card.  This feature is only appropriate for test/self-host images and only on devices with less than 8 GB of free space of primary storage.

 

Non-production features

The following are some features that can be used for development and testing support.

Feature Description

POWERTRACINGTOOL

This feature adds PowerTracingTool.exe, which is used to collect power-related ETW logs, to the image.

TASKSCHEDULERTOOL

This feature adds TaskSchTestUtil.exe, which is used to do task scheduling-related operations, to the image.

DISABLEPREBOOTCRASHDUMP

This feature adds a registry setting that disables offline crash dumps.

ALWAYSKEEPMEMORYDUMP

This feature adds a registry setting that tells the device to keep kernel dump files.

AUTOREBOOT

This feature adds a registry setting that restarts the device immediately after a crash dump is complete.

DISABLEDEBUGCHECKSCREEN

This feature adds a registry setting that suppresses the bug check screen.

 

Other features

Feature Description

FAKEVIBRA

This feature adds a test hardware notification driver for controlling the vibration feedback mechanism.

IMGFAKELED

This feature adds a test hardware notification driver for controlling LEDs to the image.

LOCATIONFRAMEWORKAPP

This feature adds LFApp, a test and debug application for the location framework.

PSEUDOLOCALES

This feature enables the use of pseudo-locales for localization testing. For more information, see Using Psuedo-Locales for Localization Testing on MSDN.

GRAPHICSSOFTWAREDRIVERS

This feature adds BasicDisplay and WARP graphics drivers. This feature is normally used by the SoC vendor in early device bring-up.

 

Microsoft internal features

The following components are reserved for Microsoft internal use only, but are documented here for completeness.

Feature Description

SELFHOST

This feature adds components used exclusively for self-hosting scenarios in Microsoft.

IMGUPD_POWERTOYS

This feature includes several utility applications related to updating packages on devices.

INSTRUMENT_FOR_COVERAGE

Information on this feature will be provided in a later release of this documentation.

IMGFAKEMODEM

Information on this feature will be provided in a later release of this documentation.

USE_WMC

This feature is used for Microsoft testing.

CORTANADBG_TEST_PROTECTED

This feature is for Microsoft use only.

LIMITED

This feature is for Microsoft use only.

TEST_PROTECTED

This feature is for Microsoft use only.

SELFHOST_PROTECTED

This feature is for Microsoft use only.

 

Building and flashing images

 

 

Send comments about this topic to Microsoft