Features On Demand
Features on Demand (FODs) are Windows feature packages that can be added at any time. Common features include language resources like handwriting recognition or the .NET Framework (.NetFx3). When a Windows 10 PC needs a new feature, it can request the feature package from Windows Update.
OEMs can preinstall FODs into a Windows image by leveraging DISM with the
/Add-Capability option. By default
/Add-Capability downloads features from Windows Update and adds them to the image, but you can use the
/LimitAccess options to tell Windows where to download features from:
/Source allows you to choose a location where the capability source files are located. You can use multiple /Source arguments.
/LimitAccess tells DISM to not check Windows Update or Windows Server Update Services for the capability source files.
See DISM Capabilities Package Servicing Command-Line Options for more information.
Unlike previous feature packs, Features on Demand can be applicable to multiple Windows builds, and can be added using DISM without knowing the build number. Always use Features on Demand that match the architecture of the operating system. Adding Features on Demand of the wrong architecture might not return an error immediately, but will likely cause functionality issues in the operating system.
If you install an update (hotfix, general distribution release [GDR], or service pack) prior to installing a Feature on Demand or language pack, you'll have to reinstall the update. Always install language packs and Features on Demand before you install updates.
Adding or removing Features on Demand
Using DISM to add or remove capabilities:
- Use the /Online option to add the capability to your PC.
- Use the /Image:<mount path> option to add the capability to a mounted Windows image.
|/Add-Capability||Adds a capability to an image.
For packages with dependencies this also pulls dependent packages. For example, if you add the Speech package, you'll also get the Text-to-speech and Basic packages in addition to Speech.
|/Get-Capabilities||Get capabilities in the image.||
|/Get-CapabilityInfo||Get information of a capability in the image.||
|/Remove-Capability||Removes a capability from an image.
Note: You cannot remove a capability that other packages depend on. For example, if you have the French handwriting and basic capabilities installed, you can't remove the basic capability.
To see all available DISM commands for capabilities, see DISM Capabilities Package Servicing Command-Line Options.