DevicePlatformID overview

The DevicePlatformID is a string that consists of values from the SMBIOS system information structure, concatenated together with each value separated by a period. You can include one or more DevicePlatformIDs in a Factory OS image.

DevicePlatformIDs are specified in the <DevicePlatformID> element of OEMInput.xml. See DevicePlatformID for how to add add DevicePlatformID to an image.

How it works

Prior to flashing, DISM checks the DevicePlatformIDs in an image against the SMBIOS fields on the device. This ensures that the image is designed for the hardware it's being deployed on. If you don't include a DevicePlatformID, you won't be able to flash a device.

Validation rules

To validate that an image is designed for a device, DISM evaluates three rules to determine if an image is appropriate for the hardware it's being flashed to:

  1. If any one of the PlatformIDs in an image matches with a device an image is successfully matched.
  2. A PlatformID is validated with the device if all DevicePlatformID fields match with the corresponding SMBIOS fields.
  3. A DevicePlatformID field matches if it's an exact match, or uses a wildcard (*), with the corresponding SMBIOS field.

If the validation rules fail, flashing will fail and nothing will be written to the device.

DevicePlatformID format

DevicePlatformID uses the following format. Each value maps to hardware information from SMBIOS:

  • Manufacturer.FamilyName.ProductName.ProductVersion
DevicePlatformID field SMBIOS Field
Manufacturer Manufacturer
FamilyName Family
ProductName Product Name
ProductVersion Version

Notes:

  • DevicePlatformID fields are delimited by dots (.).
  • Wildcards (*) are acceptable, which allows for one image for multiple hardware types.
  • The maximum length of the concatenated DevicePlatformID is 192 characters.

See Section 7.2 of the SMBIOS Specification for information about the SMBIOS system information structure.

Example DevicePlatformIDs

The following shows a snippet from an OEMInput file that specifies four DevicePlatformIDs:

<DevicePlatformIDs>
    <DevicePlatformID>Manufacturer.Family.Product.Version</DevicePlatformID>
    <DevicePlatformID>Contoso.Laptops.ContosoBook.V1</DevicePlatformID>
    <DevicePlatformID>Contoso.ContosoLaptop.*.1</DevicePlatformID>
    <DevicePlatformID>*.*.*.*</DevicePlatformID>
</DevicePlatformIDs>