提交电脑设备清单包

提交电脑设备清单包

可以使用同一方法提交包以进行预览或发布。

提交设备清单包

  1. 使用 SignTool 工具对 devicemanifest-ms 包进行签名。

  2. 使用 Microsoft 帐户从硬件开发人员中心或 Windows 开发人员中心登录到仪表板

  3. 在“设备元数据”下,如果要提交新体验,请单击“创建体验”;如果想要修改现有体验,请单击“管理体验”。

  4. 浏览并选择新的 devicemanifest-ms 包,然后单击“提交”

创建设备清单提交包

设备清单提交包是必须将所有电脑设备元数据提交到硬件开发人员中心的包格式。

设备清单提交包包含声明区域设置支持并允许验证电脑 HWID 属于提交公司的文件。 设备清单包还包括设备元数据包。

设备清单提交包以与设备元数据包相同的方式上传到硬件开发人员中心。 使用相同的用户界面和上传框,输入要上传的 *.devicemanifest-ms 文件的名称。

硬件开发人员中心用户界面上批量上传以外的所有文件上传框都将接受设备清单提交包。

设备清单提交包内容

每个设备清单提交包都包含以下组件:

  • 设备元数据包

    此包包含用于显示设备图标、设置操作以及利用 Windows 中的设备体验功能的信息和图形。

    始终需要设备元数据包。

  • LocaleInfo XML 文档

    本文档包含有关随附设备元数据包中包含的区域设置的数据。 硬件开发人员中心使用此数据来正确验证一个或多个区域设置的设备元数据包。

    即使设备元数据包仅包含单个区域设置,也始终需要 LocaleInfo XML 文档。

  • PcMetadataSubmission XML 文档

    本文档包含用于验证随附电脑设备元数据包中的 HWID 的数据。 硬件开发人员中心使用此数据来验证设备元数据包中的 HWID 是否属于正确的公司。

    仅电脑设备元数据包需要 PcMetadataSubmission XML 文档

注意

XML 文档必须使用 UTF-8 编码保存。

电脑设备清单提交包的结构

设备清单包的结构取决于包含的设备元数据是针对电脑、移动宽带还是包含对多个区域设置的支持。

如果设备元数据不属于这三个类别中的任何一个,则不需要设备清单包。 但是,设备清单包仍可用于指示设备元数据包适用于单个区域设置。

电脑设备清单提交包的组件存储在压缩的机柜文件中。 文件名必须具有 .devicemanifest-ms 的后缀。

每个电脑设备清单提交包必须具有以下结构:

GUID1.devicemanifest-ms
  \GUID1.devicemetadata-ms
  \LocaleInfo.xml
  \PcMetadataSubmission.xml

“GUID1”必须是 GUID。

若要创建 LocaleInfo.xml 和 PcMetadataSubmission.xml,请参阅下文。

若要了解如何开发设备元数据包 *.devicemetadata-ms,请参阅 Windows 8 的设备元数据包架构参考

可以使用 Cabarc 工具创建这些 CAB 包。 有关此工具的详细信息,请参阅 Cabarc 概述

使用 Cabarc 工具创建 *.devicemanifest-ms 文件时,必须创建一个本地目录,其中设备元数据包 (*.devicemetadata-ms)、LocaleInfo XML 文档和 PcMetadataSubmission XML 文档位于该目录的根目录中。

备注(设备清单)

  • .devicemanifest-ms 和 .devicemetadata-ms 文件名必须指定不带花括号 ({}) 分隔符的 GUID。

  • 每个电脑设备清单提交和设备元数据包的 GUID 必须唯一。 创建新的或修订后的包时,必须创建新的 GUID。

  • 有关如何创建机柜文件的更多详细信息,请参阅 Microsoft Cabinet 软件开发工具包

示例(设备清单)

以下示例演示如何使用 Cabarc 工具创建 .devicemanifest-ms 文件。 在此示例中,电脑设备清单文件的组件位于名为 PcPackages 的本地目录中:

.\PcPackages\
.\PcPackages\PcMetadataSubmission.xml
.\PcPackages\LocaleInfo.xml
.\PcPackages\GUID.devicemetadata-ms

GUID.devicemanifest-ms 文件是在名为 PCFiles 的本地目录中创建的:

Cabarc.exe -r -p -P  .\PcPackages\
N .\PCFiles\ GUID.devicemanifest-ms
.\PcPackages\PcMetadataSubmission.xml
.\PcPackages\LocaleInfo.xml

有关此工具的详细信息,请参阅 Cabarc 概述

创建 PcMetadataSubmission.xml

PcMetadataSubmission XML 架构

设备清单提交包可能包含一个 PcMetadataSubmission.xml 文档,其中包含硬件开发人员中心站点用于验证 PackageInfo.xml 中的计算机硬件 ID 的信息。

PcMetadataSubmission.xml 文档中的数据基于 PcMetadataSubmission XML 架构进行格式化,如下所述。

注意

XML 文档必须使用 UTF-8 编码保存。

有关 ComputerHardwareID 的详细信息,请参阅如何为设备和打印机创建设备元数据包

PcMetadataSubmission XML 架构命名空间

以下是 PcMetadataSubmission XML 架构的命名空间:

  • http://schemas.microsoft.com/Windows/2009/05/MetadataSubmission/PcMetadataSubmission

  • http://schemas.microsoft.com/Windows/2011/06/MetadataSubmission/PcMetadataSubmissionv2

PcMetadataSubmission XML 元素/属性概述

下表描述了 PcMetadataSubmission XML 架构的元数据元素和属性。

元素/属性 元素/属性类型 必需/可选 说明
SMBIOSEntry SMBIOSEntryType 必须 指定计算机的 SMBIOS 信息。
SystemManufacturer tns:SMBIOSStringType 必须 指定计算机的名称。
SystemFamily tns:SMBIOSStringType 可选 指定计算机制造商的系列名称。
SystemProductName tns:SMBIOSStringType 可选 指定产品(计算机)的名称。
BIOSVendor tns:SMBIOSStringType 可选 指定 BIOS 制造商的名称。
BIOSVersion tns:SMBIOSStringType 可选 指定 BIOS 的版本号。
SystemBIOSMajorRelease tns:BIOSReleaseType 可选 指定 BIOS 的 MajorRelease 版本。
SystemBIOSMinorRelease tns:BIOSReleaseType 可选 指定 BIOS 的 MinorRelease 版本。
Enclosuretype tns:TypeofEnclosureType 可选 指定计算机的机箱类型。
SKUNumber v2:SMBIOSStringType 可选 指定计算机的 SKU 编号。

PcMetadataSubmission XML 架构定义

以下是 PcMetadataSubmission XML 架构定义

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://schemas.microsoft.com/Windows/2009/05/MetadataSubmission/PcMetadataSubmission" xmlns:tns="http://schemas.microsoft.com/Windows/2009/05/MetadataSubmission/PcMetadataSubmission" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:v2="http://schemas.microsoft.com/Windows/2011/06/MetadataSubmission/PcMetadataSubmissionv2" elementFormDefault="qualified" blockDefault="#all">

  <xs:element name="PcMetadataSubmission" type="tns:PcMetadataSubmissionType" />
  <xs:complexType name="PcMetadataSubmissionType">
    <xs:sequence>
      <xs:element name="SMBIOSList" type="tns:SMBIOSListType" />
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SMBIOSListType">
    <xs:sequence>
      <xs:element name="SMBIOSEntry" type="tns:SMBIOSEntryType" maxOccurs="unbounded" />
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SMBIOSEntryType">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="SystemManufacturer" type="tns:SMBIOSStringType" use="required" />
        <xs:attribute name="SystemFamily" type="tns:SMBIOSStringType" use="optional" />
        <xs:attribute name="SystemProductName" type="tns:SMBIOSStringType" use="optional" />
        <xs:attribute name="BIOSVendor" type="tns:SMBIOSStringType" use="optional" />
        <xs:attribute name="BIOSVersion" type="tns:SMBIOSStringType" use="optional" />
        <xs:attribute name="SystemBIOSMajorRelease" type="tns:BIOSReleaseType" use="optional" />
        <xs:attribute name="SystemBIOSMinorRelease" type="tns:BIOSReleaseType" use="optional" />
        <xs:attribute name="EnclosureType" type="tns:TypeofEnclosureType" use="optional" />
        <xs:attribute ref="v2:SKUNumber" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:simpleType name="SMBIOSStringType">
    <xs:restriction base="xs:string">
      <xs:minLength value="1" />
      <xs:maxLength value="64" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="BIOSReleaseType">
    <xs:restriction base="xs:hexBinary">
      <xs:minLength value="1" />
      <xs:maxLength value="1" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TypeofEnclosureType">
    <xs:restriction base="xs:hexBinary">
      <xs:pattern value="([0-7][0-9A-F]|0[0-9A-F])" />
    </xs:restriction>
  </xs:simpleType>
</xs:schema>

以下是 PcMetadataSubmissionv2 XML 架构定义:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://schemas.microsoft.com/Windows/2011/06/MetadataSubmission/PcMetadataSubmissionv2" xmlns:tns="http://schemas.microsoft.com/Windows/2011/06/MetadataSubmission/PcMetadataSubmissionv2" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" blockDefault="#all">

  <xs:attribute name="SKUNumber" type="tns:SMBIOSStringType" />

  <xs:simpleType name="SMBIOSStringType">
    <xs:restriction base="xs:string">
      <xs:minLength value="1" />
      <xs:maxLength value="64" />
    </xs:restriction>
  </xs:simpleType>

</xs:schema>

PcMetadataSubmission XML 架构参考

PcMetadataSubmission XML 架构定义以下元素和属性:

  • SMBIOSList
    • SMBIOSEntry
      • SystemManufacturer
      • SystemFamily
      • SystemProductName
      • BIOSVendor
      • BIOSVersion
      • SystemBIOSMajorRelease
      • SystemBIOSMinorRelease
      • Enclosuretype
      • SKUNumber

SMBIOSEntry 元素

SMBIOSEntry 元素指定计算机系统信息。 根据此信息,硬件开发人员中心创建计算机硬件 ID,并将所提交 packageinfo.xml 中的计算机 hardwareID 的值与 PcMetadataSubmission.xml 进行比较。

<xs:element name="SMBIOSEntry" type="tns:SMBIOSEntryType" maxOccurs="unbounded" />

<xs:complexType name="SMBIOSEntryType">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="SystemManufacturer" type="tns:SMBIOSStringType" use="required" />
        <xs:attribute name="SystemFamily" type="tns:SMBIOSStringType" use="optional" />
        <xs:attribute name="SystemProductName" type="tns:SMBIOSStringType" use="optional" />
        <xs:attribute name="BIOSVendor" type="tns:SMBIOSStringType" use="optional" />
        <xs:attribute name="BIOSVersion" type="tns:SMBIOSStringType" use="optional" />
        <xs:attribute name="SystemBIOSMajorRelease" type="tns:BIOSReleaseType" use="optional" />
        <xs:attribute name="SystemBIOSMinorRelease" type="tns:BIOSReleaseType" use="optional" />
        <xs:attribute name="Enclosuretype" type="tns:TypeofEnclosureType" use="optional" />
        <xs:anyAttribute namespace="##other" processContents="lax" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

备注(SMBIOSEntry 元素)

多个 SMBIOSEntry 元素可用于指定多个系统。

例如,假设元数据包支持多个电脑系统。 以下 SMBIOSEntry 元素可用于定义电脑系统。

<SMBIOSList>
  <SMBIOSEntry
      SystemManufacturer="FABRIKAM" SystemFamily…
  />
  <SMBIOSEntry
      SystemManufacturer="FABRIKAM" SystemFamily…
</SMBIOSList>

SystemManufacturer 属性

SystemManufacturer 属性指定计算机的系列名称。

<xs:attribute name="SystemManufacturer" type="tns:SMBIOSStringType" use="required" />

<xs:simpleType name="SMBIOSStringType">
  <xs:restriction base="xs:string">
    <xs:minLength value="1" />
    <xs:maxLength value="64" />
  </xs:restriction>
</xs:simpleType>

备注(SystemManufacturer 属性)

SystemManufacturer 属性指定的值必须与目标电脑 SMBIOS 表中的“制造商”字段中的值相同。 下表显示了“制造商”字段的 SMBIOS 中的字段信息。

字段名称 结构名称和类型 SMBIOS 规范版本 Offset 长度 说明
制造商 系统信息(类型 1) 2.0+ 04h BYTE STRING dmiStrucBuffer 数组中以 null 结尾的字符串的索引。 此字符串指定计算机制造商的名称。

有关 dmiStrucBuffer 数组和 SMBIOS 字段的详细信息,请参阅系统管理 BIOS (SMBIOS) 规范

SystemFamily 属性

SystemFamily 属性指定计算机制造商的名称。

<xs:attribute name="SystemFamily" type="tns:SMBIOSStringType" use="optional" />

<xs:simpleType name="SMBIOSStringType">
  <xs:restriction base="xs:string">
    <xs:minLength value="1" />
    <xs:maxLength value="64" />
  </xs:restriction>
</xs:simpleType>

备注(SystemFamily 属性)

SystemFamily 属性指定的值必须与目标电脑 SMBIOS 表中的“系列”字段中的值相同。 下表显示了“系列”字段的 SMBIOS 中的字段信息。

字段名称 结构名称和类型 SMBIOS 规范版本 Offset 长度 说明
系列 系统信息(类型 1) 2.4+ 1Ah BYTE STRING dmiStrucBuffer 数组中以 null 结尾的字符串的索引。 此字符串指定特定计算机所属的系列。一个系列是指一组计算机,这些计算机在硬件或软件方面相似但并不完全相同。通常,一个系列由不同的计算机型号组成,这些型号具有不同的配置和定价点。 同一系列中的计算机通常具有类似的品牌和外观功能。

有关 dmiStrucBuffer 数组和 SMBIOS 字段的详细信息,请参阅系统管理 BIOS (SMBIOS) 规范

SystemProductName 属性

SystemProductName 属性指定产品(计算机)的名称。

<xs:attribute name="SystemProductName" type="tns:SMBIOSStringType" use="optional" />

<xs:simpleType name="SMBIOSStringType">
  <xs:restriction base="xs:string">
    <xs:minLength value="1" />
    <xs:maxLength value="64" />
  </xs:restriction>
</xs:simpleType>

备注(SystemProductName 属性)

SystemProductName 属性指定的值必须与目标电脑 SMBIOS 表中的“产品名称”字段中的值相同。 下表显示了“产品名称”字段的 SMBIOS 中的字段信息。

字段名称 结构名称和类型 SMBIOS 规范版本 Offset 长度 说明
产品名称 系统信息(类型 1) 2.0+ 05h BYTE STRING dmiStrucBuffer 数组中以 null 结尾的字符串的索引。 此字符串指定计算机的产品名称。

有关 dmiStrucBuffer 数组和 SMBIOS 字段的详细信息,请参阅系统管理 BIOS (SMBIOS) 规范

BIOSVendor 属性

BIOSVendor 属性指定 BIOS 制造商的名称。

<xs:attribute name="BIOSVendor" type="tns:SMBIOSStringType" use="optional" />

<xs:simpleType name="SMBIOSStringType">
  <xs:restriction base="xs:string">
    <xs:minLength value="1" />
    <xs:maxLength value="64" />
  </xs:restriction>
</xs:simpleType>

备注(BIOSVendor 属性)

BIOSVendor 属性指定的值必须与目标电脑 SMBIOS 表中的“供应商”字段中的值相同。 下表显示了“供应商”字段的 SMBIOS 中的字段信息。

字段名称 结构名称和类型 SMBIOS 规范版本 Offset 长度 说明
供应商 BIOS 信息(类型 0) 2.0 04h BYTE STRING dmiStrucBuffer 数组中以 null 结尾的字符串的索引。 此字符串指定 BIOS 供应商的名称。

有关 dmiStrucBuffer 数组和 SMBIOS 字段的详细信息,请参阅系统管理 BIOS (SMBIOS) 规范

BIOSVersion 属性

BIOSVersion 属性指定 BIOS 的版本号。

<xs:attribute name="BIOSVersion" type="tns:SMBIOSStringType" use="optional" />

<xs:simpleType name="SMBIOSStringType">
  <xs:restriction base="xs:string">
    <xs:minLength value="1" />
    <xs:maxLength value="64" />
  </xs:restriction>
</xs:simpleType>

备注(BIOSVersion 属性)

BIOSVersion 属性指定的值必须与目标电脑 SMBIOS 表中的“BIOS 版本”字段中的值相同。 下表显示了“BIOS 版本”字段的 SMBIOS 中的字段信息。

字段名称 结构名称和类型 SMBIOS 规范版本 Offset 长度 说明
BIOS 版本 BIOS 信息(类型 0) 2.0 05h BYTE STRING dmiStrucBuffer 数组中以 null 结尾的字符串的索引。 此字符串可以包含有关处理器内核和 OEM 版本的信息。

有关 dmiStrucBuffer 数组和 SMBIOS 字段的详细信息,请参阅系统管理 BIOS (SMBIOS) 规范

SystemBIOSMajorRelease 属性

SystemBIOSMajorRelease 属性指定 BIOS 的主要发布版本。

<xs:attribute name="SystemBIOSMajorRelease" type="tns:BIOSReleaseType" use="optional" />

<xs:simpleType name="BIOSReleaseType">
  <xs:restriction base="xs:hexBinary">
    <xs:minLength value="1" />
    <xs:maxLength value="1" />
  </xs:restriction>
</xs:simpleType>

备注(SystemBIOSMajorRelease 属性)

SystemBIOSMajorRelease 属性指定的值必须与目标电脑 SMBIOS 表的 SystemBIOSMajorRelease 字段中的值相同。 下表显示了“SystemBIOSMajorRelease”字段的 SMBIOS 中的字段信息。

字段名称 结构名称和类型 SMBIOS 规范版本 Offset 长度 说明
系统 BIOS 主要版本 BIOS 信息(类型 0) 2.4 14h BYTE 多种多样。 系统 BIOS 的主要版本。

有关 SMBIOS 字段的详细信息,请参阅系统管理 BIOS (SMBIOS) 规范

SystemBIOSMinorRelease 属性

SYSTEMBIOSMinorRelease 属性指定 BIOS 的次要发布版本。

<xs:attribute name="SystemBIOSMinorRelease" type="tns:BIOSReleaseType" use="optional" />

<xs:simpleType name="BIOSReleaseType">
  <xs:restriction base="xs:hexBinary">
    <xs:minLength value="1" />
    <xs:maxLength value="1" />
  </xs:restriction>
</xs:simpleType>

备注(SYSTEMBIOSMinorRelease 属性)

SystemBIOSMinorRelease 属性指定的值必须与目标电脑 SMBIOS 表的 SystemBIOSMinorRelease 字段中的值相同。 下表显示了“SystemBIOSMinorRelease”字段的 SMBIOS 中的字段信息。

字段名称 结构名称和类型 SMBIOS 规范版本 Offset 长度 说明
系统 BIOS 次要版本 BIOS 信息(类型 0) 2.4 15h BYTE 多种多样。 系统 BIOS 的次要版本。

有关 SMBIOS 字段的详细信息,请参阅系统管理 BIOS (SMBIOS) 规范

Enclosuretype 属性

Enclosuretype 属性指定计算机的机箱类型。

<xs:attribute name="EnclosureType" type="tns:TypeofEnclosureType" use="optional" />

<xs:simpleType name="TypeofEnclosureType">
  <xs:restriction base="xs:hexBinary">
    <xs:pattern value="([0-7][0-9A-F]|0[0-9A-F])" />
  </xs:restriction>
</xs:simpleType>

备注(Enclosuretype 属性)

Enclosuretype 属性指定的值必须与目标电脑 SMBIOS 表中的“机箱”字段中的值相同。 下表显示了“机箱”字段的 SMBIOS 中的字段信息。

字段名称 结构名称和类型 SMBIOS 规范版本 Offset 长度 说明
机箱类型 系统机箱(类型 3) 2.0+ 05h BYTE 多种多样。 系统机箱或机箱类型。

有关 SMBIOS 字段的详细信息,请参阅系统管理 BIOS (SMBIOS) 规范

SKUNumber 元素

SKUNumber 元素指定计算机的 SKU 编号。

<xs:attribute name="SKUNumber" type="tns:SMBIOSStringType" />

<xs:simpleType name="SMBIOSStringType">
  <xs:restriction base="xs:string">
    <xs:minLength value="1" />
    <xs:maxLength value="64" />
  </xs:restriction>
</xs:simpleType>

备注(SKUNumber 元素)

SKUNumber 元素指定的值必须与目标电脑 SMBIOS 表中的“SKU 编号”字段中的值相同。 下表显示了“SKU 编号”字段的 SMBIOS 中的字段信息。

字段名称 结构名称和类型 SMBIOS 规范版本 Offset 长度 说明
SKU 编号 系统信息(类型 1) 2.4+ 19h BYTE STRING 以 Null 结尾的字符串数。此文本字符串用于标识要销售的特定计算机配置。 有时也称为产品 ID 或采购订单号。 此数字经常出现在现有字段中,但没有标准格式。 通常,对于给定 OEM 提供的给定系统板,有数十种唯一处理器、内存、硬盘驱动器和光学驱动器配置。

有关 SMBIOS 字段的详细信息,请参阅系统管理 BIOS (SMBIOS) 规范

PcMetadataSubmission XML 示例

以下 XML 文档使用 PcMetadataSubmission XML 架构来指定目标计算机的 PcMetadataSubmission 信息的组件。

<?xml version="1.0" encoding="utf-8"?>
<PcMetadataSubmission xmlns="http://schemas.microsoft.com/Windows/2009/05/MetadataSubmission/PcMetadataSubmission">
  <SMBIOSList>
   <SMBIOSEntry
      SystemManufacturer="FABRIKAM"
      SystemFamily="FABRIKAM A SERIES"
      SystemProductName="FABRIKAM LAPTOP"
      BIOSVendor="FABRIKAM"
      BIOSVersion="7BETC7WW (2.08 )"
      SystemBIOSMajorRelease="08"
      SystemBIOSMinorRelease="00"
      EnclosureType="0A"
      v2:SKUNumber="1234567890ABCD"
    />
  </SMBIOSList>
</PcMetadataSubmission>

创建 LocaleInfo.xml

有关创建要提交的 Localeinfo.xml 文件的信息,请参阅创建 LocaleInfo.xml 提交文件