Feature manifests

Feature manifests define the locations for the feature, apps, and driver packages you want to include in your images.

When a feature manifest is included in an image configuration file (OEMInput.xml), by default all the packages defined in that feature manifest get added into an image at image creation time.

Packages can also be marked as optional and assigned an ID: features and drivers get Feature IDs, and apps get App IDs. These IDs are used in the image configuration file (OEMInput.xml) to specify the optional packages that should be added to an image.

Feature manifests can include:

  • A base set of packages that will be added to an image
  • A combination of a set of base packages and optional features that you can manually add
  • Only optional features, where you have to specify the features you want included in your image

A sample image config file (OEMInput) that references feature manifests, which each reference different app and driver packages.

Feature manifests in your image design

Core feature manifests

Each Factory OS image has a core feature manifest that's not listed in an OEMInput file, but is unconditionally included in every image design. These core feature manifests define the core packages and features available in a Factory OS image and can't be modified. Core feature manifests are product-specific, and included in an image based on the <Product> value in OEMInput.xml.

Core feature manifests for each product:

Product Core feature manifest
Factory OS FactoryOSFM.xml

Additional feature manifests

After you create a workspace, the OEMInput.xml file includes several feature manifests to enable the configuration for the image type you chose when you ran prepwskworkspace.

You can add additional feature manifests to enable additional features, apps, drivers, or settings by adding an <AdditionalFM> element that includes the path to the feature manifest you're adding.

Here's an example of what you might see in your OEMInput.xml:

<AdditionalFMs>
  <AdditionalFM>%WSKContentRoot%\FMFiles\%WSKImageArchitecture%\FactoryOS\WindowsCoreProductionFM.xml</AdditionalFM>
  <AdditionalFM>%WSKContentRoot%\FMFiles\%WSKImageArchitecture%\FactoryOS\WindowsCoreNonProductionFM.xml</AdditionalFM>
  <AdditionalFM>%WSKContentRoot%\FMFiles\%WSKImageArchitecture%\FactoryOS\FOSNonProductionFM.xml</AdditionalFM>
  <AdditionalFM>%WSKContentRoot%\FMFiles\%WSKImageArchitecture%\FactoryOS\GenericDeviceFM.xml</AdditionalFM>
  <!-- Add OEM FMs here. -->
  <AdditionalFM>%WSKWorkspaceRoot%\FMFiles\OEMAppsFM.xml</AdditionalFM>
  <AdditionalFM>%WSKWorkspaceRoot%\FMFiles\OEMDriversFM.xml</AdditionalFM>
</AdditionalFMs>

Note

Some feature manifests include packages and features that can only be used for testing. These feature manifests typically have NonProduction in their name, and have the <ReleaseType> attribute in their <FeatureManifest> element set to Test.

See also