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:
- If any one of the PlatformIDs in an image matches with a device an image is successfully matched.
- A PlatformID is validated with the device if all DevicePlatformID fields match with the corresponding SMBIOS fields.
- 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>