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. |
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:
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 |
Other boot related features
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. |
Security related features
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. |
Test related features
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:
|
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. |
Debug related features
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:
|
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.
|
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.
|
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. |
Related topics