构建设备元数据包

本主题提供有关如何生成设备元数据包的指南。

设备元数据包文件名

在创建设备元数据包文件之前,必须先为元数据包创建全局唯一标识符 (GUID) 。 为此,请使用 GUID 生成网站中所述的 Guidgen 工具 (Guidgen.exe) 。

设备元数据包的文件名必须使用以下命名约定:

<GUID>.devicemetadata-ms

例如,如果您创建的 GUID 值为 {20f001a99-4675-8707-248ca-187dfd9},则使用该 GUID 创建以下设备元数据包文件:

20f001a99-4675-8707-248ca-187dfd9.devicemetadata-ms

注意 操作系统仅当其后缀为 时,才会识别设备元数据包。devicemetadata-ms

以下规则适用于设备元数据包文件:

  • 每个元数据包文件名的 GUID 必须是唯一的。 创建新的或修改后的元数据包时,必须创建新的 GUID,即使这些更改是次要的。

  • 每个元数据包只能支持一个区域设置。 如果为设备支持多个区域设置,则必须为每个区域设置创建单独的元数据包,每个元数据包都有自己的 GUID。 有关详细信息,请参阅 Locale XML 元素

    注意 如果设备需要多个特定于区域设置的设备元数据包文件,可以通过创建非特定语言标识符对所有文件进行分组。 此标识符是 GUID,可以在同一设备的所有元数据包中的 LanguageNeutralIdentifier XML 元素中指定相同的 GUID。

  • 设备元数据包文件名的 GUID> 前缀必须指定不带“{”或“}”分隔符的 GUID。<

创建设备元数据包文件

设备元数据包的组件存储在使用 Cabarc (Cabarc.exe) 工具压缩的文件中。 有关此工具的详细信息,请参阅 Cabarc 概述 网站。

下面的代码示例演示如何使用 Cabarc 工具创建设备元数据包文件。 在此示例中,元数据包的组件位于名为 MyMetadataPackage 的本地目录中。 以下列表显示了 MyMetadataPackage 目录中的子目录和文件:

.\MyMetadataPackages
.\MyMetadataPackage\PackageInfo.xml
.\MyMetadataPackage\DeviceInformation\DeviceInfo.xml
.\MyMetadataPackage\DeviceInformation\MyIcon.ico
.\MyMetadataPackage\WindowsInformation\WindowsInfo.xml

首先,为设备元数据包创建值为 {f4ea2b40-77ff-443d-8212-be7e74a344ae} 的 GUID。 下图显示了如何使用 Guidgen 工具创建 GUID:

“guidgen 创建 guid”对话框的屏幕截图。

然后,以下命令使用 Cabarc 工具在名为 MyDeviceMetadataPackage 的本地目录中创建新的设备元数据包文件:

Cabarc.exe -r -p -P .\MyMetadataPackage\ 
    N .\MyDeviceMetadataPackage\f4ea2b40-77ff-443d-8212-be7e74a344ae.devicemetadata-ms 
    .\MyMetadataPackage\PackageInfo.xml 
    .\MyMetadataPackage\DeviceInformation\DeviceInfo.xml 
    .\MyMetadataPackage\DeviceInformation\MyIcon.ico 
    .\MyMetadataPackage\WindowsInformation\WindowsInfo.xml

注意 每个元数据包只能支持一个区域设置。 如果为设备支持多个区域设置,则必须为每个区域设置创建单独的元数据包,每个元数据包都有自己的 GUID。