Отправка пакета массовых метаданных
Чтобы отправить пакет массовых метаданных, выполните приведенные далее действия.
Подпишите пакет массовых метаданных с помощью средства SignTool .
Войдите на панель мониторинга из Центра разработки оборудования или Центра разработки для Windows с помощью учетной записи Майкрософт.
В разделе Метаданные устройства щелкните Создать массовую отправку.
Найдите и выберите новый пакет массовых метаданных, а затем нажмите кнопку Отправить.
Создание пакета массовой отправки
Пакет массовой отправки метаданных — это формат пакета, в котором на панель мониторинга можно отправить несколько пакетов метаданных устройств.
Пакеты массовой отправки метаданных следует отправлять на панель мониторинга с помощью функции массовой отправки. Эта функция удаляет пользовательский интерфейс для создания интерфейсов, чтобы упростить отправку нескольких пакетов метаданных одновременно. Сведения о создании интерфейсов и изменении атрибутов пакета содержатся в XML-документе BulkMetadataSubmission.
В пакет можно включить не более 50 файлов devicemetadata-ms или devicemanifest-ms.
Сведения об использовании мастера отправки метаданных устройства для создания пакета массовых метаданных см. в статье Создание пакета отправки метаданных устройства в Visual Studio.
Содержимое пакета массовой отправки метаданных
Каждый пакет массовой отправки метаданных состоит из следующих компонентов:
Пакеты метаданных устройства
Пакеты метаданных устройства содержат сведения и рисунки для отображения значков устройств, задания действий и использования функций взаимодействия с устройством.
Пакеты манифеста устройства
Пакеты манифеста устройства содержат сведения для проверки пакетов метаданных устройства.
XML-документ BulkMetadataSubmission
Этот документ содержит данные, используемые для правильной отправки пакетов без пользовательского интерфейса. Панель мониторинга использует сведения из этого документа для создания интерфейсов с понятными именами, упорядочивания пакетов по интерфейсам, обновления и пометки отдельных пакетов как предварительных версий.
Примечание
XML-документы должны быть сохранены в кодировке UTF-8.
Необходимо включить по крайней мере один пакет метаданных устройства или манифеста устройства в пакет массовой отправки метаданных.
Структура пакета массовой отправки метаданных
Компоненты пакета массовой отправки метаданных хранятся в сжатом cab-файле. Имя файла должно иметь суффикс ".bulkmetadata-ms".
Каждый пакет массовой отправки метаданных должен иметь следующую структуру:
DDMMYYYY.bulkmetadata-ms
\Filename1.devicemetadata-ms
\Filename2.devicemetadata-ms
\...
\Filename3.devicemanifest-ms
\Filename4.devicemanifest-ms
\...
\BulkMetadataSubmission.xml
Имя_файла1, имя_файла2, имя_файла3, имя_файла4 и т. д. должны быть идентификаторами GUID.
Сведения о создании BulkMetadataSubmission.xml см. в разделе Создание BulkMetadataSubmission.xml ниже.
Сведения о разработке пакета метаданных устройства *.devicemetadata-ms см. в справочнике по схеме пакета метаданных устройства для Windows 8.
Сведения о разработке пакета манифеста устройства *.devicemanifest-ms см. в разделе Отправка пакета манифеста устройства пк.
Для создания этих пакетов CAB можно использовать средство Cabarc. Дополнительные сведения об этом средстве см. в статье Обзор Cabarc.
При создании файла *.bulkmetadata-ms с помощью средства Cabarc необходимо создать локальный каталог, в котором пакеты метаданных устройства (*.devicemetadata-ms), пакеты манифеста устройства (*.devicemanifest-ms) и XML-документ BulkMetadataSubmission находятся в корне каталога.
Комментарии
Имена файлов .devicemetadata-ms и .devicemanifest-ms должны указывать GUID без разделителей фигурных скобок ({}).
Идентификатор GUID для каждого пакета метаданных устройства и пакета манифеста устройства должен быть уникальным. При создании нового или измененного пакета необходимо создать новый GUID.
Дополнительные сведения о создании cab-файлов см. в статье Microsoft Cabinet SDK.
Пример
Ниже приведен пример использования средства Cabarc для создания файла BULKMETADATA-MS. В этом примере компоненты файла массовых метаданных находятся в локальном каталоге с именем BulkPackages:
.\BulkPackages\
.\BulkPackages\BulkMetadataSubmission.xml
.\BulkPackages\GUID1.devicemetadata-ms
.\BulkPackages\GUID2.devicemetadata-ms
.\BulkPackages\GUID3.devicemanifest-ms
.\BulkPackages\GUID4.devicemanifest-ms
Файл GUID.pcmetadata-ms был создан в локальном каталоге с именем PCFiles:
Cabarc.exe -r -p -P .\BulkPackages\
N .\BulkFiles\ DDMMYYYY.bulkmetadata-ms
.\BulkPackages\BulkMetadataSubmission.xml
.\BulkPackages\GUID1.devicemetadata-ms
.\BulkPackages\GUID2.devicemetadata-ms
.\BulkPackages\GUID3.devicemanifest-ms
.\BulkPackages\GUID4.devicemanifest-ms
Примечание
Дополнительные сведения об этом средстве можно найти в обзоре Cabarc.
Создание BulkMetadataSubmission.xml
Xml-схема BulkMetadataSubmission
Пакет массовой отправки метаданных содержит один BulkMetadataSubmission.xml документ, который содержит сведения, которые панель мониторинга использует для создания интерфейсов с понятными именами, организации пакетов в интерфейсы, обновления и пометки отдельных пакетов как предварительных версий.
Данные в документе BulkMetadataSubmission.xml форматируются на основе xml-схемы BulkMetadataSubmission, описанной ниже.
Примечание
XML-документ должен быть сохранен в кодировке UTF-8.
BulkMetadataSubmission XML Schema NameSpace
Ниже приведено пространство имен XML-схемы PcMetadataSubmission: http://schemas.microsoft.com/Windows/2010/08/MetadataSubmission/BulkMetadataSubmission
Общие сведения о xml-элементах и атрибутах BulkMetadataSubmission
В следующей таблице описаны элементы метаданных и атрибуты XML-схемы BulkMetadataSubmission.
Элемент/атрибуты | Тип элемента или атрибута | Обязательный или необязательный |
---|---|---|
Взаимодействие | ExperienceType | Обязательно |
ExperienceName | xs:string | Обязательно |
ExperienceId | tns:GUIDType | Необязательно |
PackageList | tns:PackageListType | Обязательно |
PackageFileName | PackageFileNameType | Обязательно |
предварительный просмотр | xs:Boolean | Обязательно |
locale | xs:string | Обязательно |
Qualification | tns:QualificationType | Обязательно |
LogoSubmissionIDList | tns:LogoSubmissionIDListType | Необязательно |
LogoSubmissionID | xs:integer | Обязательно |
обновить | xs:Boolean | Обязательно |
Метаданные схемы XML BulkMetadataSubmission
Ниже приведены метаданные xml-схемы BulkMetadataSubmission:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://schemas.microsoft.com/Windows/2010/08/MetadataSubmission/BulkMetadataSubmission" xmlns:tns="http://schemas.microsoft.com/Windows/2010/08/MetadataSubmission/BulkMetadataSubmission" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" blockDefault="#all">
<xs:element name="BulkMetadataSubmission" type="tns:BulkMetadataSubmissionType" />
<xs:complexType name="BulkMetadataSubmissionType">
<xs:sequence>
<xs:element name="Experience" type="tns:ExperienceType" maxOccurs="unbounded" />
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="ExperienceType">
<xs:complexContent>
<xs:extension base ="tns:BaseExperienceType">
<xs:attribute name="update" type="xs:boolean" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="BaseExperienceType">
<xs:sequence>
<xs:element name="ExperienceName" type="xs:string" />
<xs:element name="ExperienceId" type="tns:GUIDType" minOccurs="0" />
<xs:element name="PackageList" type="tns:PackageListType" />
<xs:element name="Qualification" type="tns:QualificationType" />
<xs:element name="LogoSubmissionIDList" type="tns:LogoSubmissionIDListType" minOccurs="0" maxOccurs="unbounded" />
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:simpleType name="GUIDType">
<xs:restriction base="xs:string">
<xs:pattern value="[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" />
</xs:restriction>
</xs:simpleType>
<xs:complexType name="PackageListType">
<xs:sequence>
<xs:element name="PackageFileName" type="tns:PackageFileNameType" maxOccurs="unbounded" />
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="PackageFileNameType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="preview" type="xs:boolean" use="required" />
<xs:attribute name="locale" type="xs:string" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:simpleType name="QualificationType">
<xs:union memberTypes="tns:QualificationTypeEnumeration xs:string" />
</xs:simpleType>
<xs:simpleType name="QualificationTypeEnumeration">
<xs:restriction base="xs:string">
<xs:enumeration value="Logo/IDDA" />
<xs:enumeration value="MicrosoftInboxDriver" />
</xs:restriction>
</xs:simpleType>
<xs:complexType name="LogoSubmissionIDListType">
<xs:sequence>
<xs:element name="LogoSubmissionID" type="xs:integer" maxOccurs="unbounded" />
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:schema>
Справочник по схеме XML BulkMetadataSubmission
Xml-схема BulkMetadataSubmission определяет следующие элементы и атрибуты:
BulkMetadataSubmission
Взаимодействие
ExperienceName
ExperienceID
PackageList
PackageFileName
предварительный просмотр
локаль
Qualification
LogoSubmissionIDList
- LogoSubmissionID
обновить
Элемент Experience
Элемент Experience задает сведения для одного интерфейса. Дополнительные сведения о возможностях см. в справочнике по схеме пакета метаданных устройства для Windows 8.
На основе этих сведений панель мониторинга либо создает интерфейс с правильными сведениями и отправляет пакеты в этот интерфейс, либо обновляет существующий интерфейс с помощью новых пакетов.
<xs:element name="Experience" type="tns:ExperienceType" maxOccurs="unbounded" />
<xs:complexType name="ExperienceType">
<xs:complexContent>
<xs:extension base ="tns:BaseExperienceType">
<xs:attribute name="update" type="xs:boolean" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="BaseExperienceType">
<xs:sequence>
<xs:element name="ExperienceName" type="xs:string" />
<xs:element name="ExperienceId" type="tns:GUIDType" minOccurs="0" />
<xs:element name="PackageList" type="tns:PackageListType" />
<xs:element name="Qualification" type="tns:QualificationType" />
<xs:element name="LogoSubmissionIDList" type="tns:LogoSubmissionIDListType" minOccurs="0" maxOccurs="unbounded" />
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
Для указания нескольких интерфейсов можно использовать несколько элементов Experience. Это позволяет одной отправке нескольких пакетов для разных устройств.
Например, см. следующее.
<Experience update="false">
<ExperienceName>Test1</ExperienceName>
<PackageList>
<PackageFileName locale="en-us" preview ="false">
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX.devicemanifest-ms
</PackageFileName>
</PackageList>
<Qualification>Logo/IDDA</Qualification>
<LogoSubmissionIDList>
<LogoSubmissionID>XXXXXXX</LogoSubmissionID>
</LogoSubmissionIDList>
</Experience>
<Experience update="false">
<ExperienceName>Test2</ExperienceName>
<PackageList>
<PackageFileName locale="en-us" preview ="false">
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX.devicemetadata-ms
</PackageFileName>
</PackageList>
<Qualification>Logo/IDDA</Qualification>
<LogoSubmissionIDList>
<LogoSubmissionID>XXXXXXX</LogoSubmissionID>
</LogoSubmissionIDList>
</Experience>
Элемент ExperienceName
Элемент ExperienceName указывает имя интерфейса. Панель мониторинга создаст интерфейс с таким именем, если это новый интерфейс. Или игнорирует это значение, если это обновление существующего интерфейса.
<xs:element name="ExperienceName" type="xs:string" />
Элемент ExperienceId
Элемент ExperienceId указывает GUID, который является идентификатором взаимодействия. Это значение является обязательным при обновлении существующего интерфейса. Панель мониторинга использует это значение для определения интерфейса для обновления.
<xs:element name="ExperienceId" type="tns:GUIDType" minOccurs="0" />
<xs:simpleType name="GUIDType">
<xs:restriction base="xs:string">
<xs:pattern value="[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" />
</xs:restriction>
</xs:simpleType>
Элемент PackageList
Элемент PackageList указывает список метаданных устройства или пакетов манифеста устройства, которые будут включены в интерфейс. Панель мониторинга использует эти сведения для добавления пакетов в новый или существующий интерфейс.
<xs:element name="PackageList" type="tns:PackageListType" />
<xs:complexType name="PackageListType">
<xs:sequence>
<xs:element name="PackageFileName" type="tns:PackageFileNameType" maxOccurs="unbounded" />
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
Элемент PackageFileName
Элемент PackageFileName указывает имя файла и сведения об одном пакете метаданных устройства или пакета манифеста устройства. Панель мониторинга использует эти сведения для добавления пакета в новый или существующий интерфейс и правильно помечает пакет как предварительный просмотр, если он указан. На основе значений предварительного просмотра и языкового стандарта панель мониторинга при необходимости также удаляет существующие пакеты.
<xs:element name="PackageFileName" type="tns:PackageFileNameType" maxOccurs="unbounded" />
<xs:complexType name="PackageFileNameType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="preview" type="xs:boolean" use="required" />
<xs:attribute name="locale" type="xs:string" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
Атрибуты предварительного просмотра и языкового стандарта элемента PackageFileName позволяют панели мониторинга обновлять существующий динамический пакет, используя только что отправленный пакет.
Например, если пакет предварительной версии en-US уже существует в интерфейсе и пакет предварительной версии en-US был отправлен в пакет массовой отправки метаданных для того же интерфейса, существующий пакет будет автоматически удален, а новый пакет будет отправлен.
По этой причине важно также соблюдать осторожность при обновлении пакетов, чтобы избежать случайного удаления.
атрибут preview
Атрибут предварительной версии указывает, должен ли быть помечен предварительный просмотр метаданных устройства или пакета манифеста устройства. Дополнительные сведения о том, как панель мониторинга использует это значение, см. в разделе Элемент PackageFileName.
<xs:attribute name="preview" type="xs:boolean" use="required" />
Атрибут языкового стандарта
Атрибут языкового стандарта указывает, что объявленный языковой стандарт (из PackageInfo.xml) метаданных устройства или пакета манифеста устройства должен быть помечен как предварительный просмотр. Дополнительные сведения о том, как панель мониторинга использует это значение, см. в разделе Элемент PackageFileName.
<xs:attribute name="locale" type="xs:string" use="required" />
Элемент Qualification
Элемент Квалификация указывает, имеет ли устройство сертификацию Logo, входит ли в список Соглашения о распространении драйвера для папки "Входящие" (IDDA) или использует ли устройство драйвер для папки "Входящие". Панель мониторинга использует эти сведения, чтобы обеспечить правильную сертификацию устройства для типа метаданных устройства, которые вы отправляете.
<xs:element name="Qualification" type="tns:QualificationType" />
<xs:simpleType name="QualificationType">
<xs:union memberTypes="tns:QualificationTypeEnumeration xs:string" />
</xs:simpleType>
<xs:simpleType name="QualificationTypeEnumeration">
<xs:restriction base="xs:string">
<xs:enumeration value="Logo/IDDA" />
<xs:enumeration value="MicrosoftInboxDriver" />
</xs:restriction>
</xs:simpleType>
Такие функции, как Device Stage, недоступны для устройств, которые не прошли сертификацию логотипа и не включены в список IDDA.
Для каждого интерфейса можно выбрать один из двух вариантов. Эти параметры и их определения указаны в таблице ниже:
Значение перечисления | Описание |
---|---|
Логотип/IDDA | Ваше устройство имеет сертификацию Logo или находится в списке IDDA. Если у вас есть сертификация Logo, необходимо указать конкретные идентификаторы отправки логотипов в элементе LogoSubmissionIDList. |
MicrosoftInboxDrive | Ваше устройство использует драйвер для папки "Входящие" Майкрософт. Некоторые функции метаданных устройства могут быть недоступны при использовании этого уровня квалификации (например, Device Stage). |
Элемент LogoSubmissionIDList
Элемент LogoSubmissionIDList указывает список сертификаций логотипов для устройства. Дополнительные сведения о том, как панель мониторинга использует это значение, см. в разделе Элемент Квалификация.
<xs:element name="LogoSubmissionIDList" type="tns:LogoSubmissionIDListType" minOccurs="0" maxOccurs="unbounded" />
<xs:complexType name="LogoSubmissionIDListType">
<xs:sequence>
<xs:element name="LogoSubmissionID" type="xs:integer" maxOccurs="unbounded" />
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
Элемент LogoSubmissionID
Элемент LogoSubmissionID указывает индивидуальную сертификацию логотипа для устройства. Дополнительные сведения о том, как панель мониторинга использует это значение, см. в разделе Элемент Квалификация.
<xs:element name="LogoSubmissionID" type="xs:integer" maxOccurs="unbounded" />
Для указания нескольких сертификатов LogoSubmissionID для одного устройства можно использовать несколько элементов LogoSubmissionID. Пользователи должны перечислить все сертификаты логотипа для своего устройства в списке. Ниже приведен пример, в котором перечислены несколько сертификатов логотипа.
<LogoSubmissionIDList>
<LogoSubmissionID>0000001</LogoSubmissionID>
<LogoSubmissionID>0000002</LogoSubmissionID>
<LogoSubmissionID>0000003</LogoSubmissionID>
</LogoSubmissionIDList>
Атрибут update
Атрибут обновления указывает, обновляется ли интерфейс. Панель мониторинга использует это значение для обновления интерфейса путем удаления конфликтующих пакетов и отправки новых пакетов, если атрибут обновления имеет значение true. Если для атрибута обновления задано значение false, панель мониторинга создаст новый интерфейс и отправит в него новые пакеты.
<xs:attribute name="update" type="xs:boolean" use="required"/>
Xml-пример BulkMetadataSubmission
В следующем XML-документе используется xml-схема BulkMetadataSubmission для указания компонентов XML-документа BulkMetadataSubmission.
<BulkMetadataSubmission xmlns="http://schemas.microsoft.com/Windows/2010/08/MetadataSubmission/BulkMetadataSubmission">
<Experience update="false">
<ExperienceName>Test1</ExperienceName>
<PackageList>
<PackageFileName locale="en-us" preview ="false">
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX.devicemanifest-ms
</PackageFileName>
</PackageList>
<Qualification>Logo/IDDA</Qualification>
<LogoSubmissionIDList>
<LogoSubmissionID>XXXXXXX</LogoSubmissionID>
</LogoSubmissionIDList>
</Experience>
<Experience update="false">
<ExperienceName>Test2</ExperienceName>
<PackageList>
<PackageFileName locale="en-us" preview ="false">
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX.devicemetadata-ms
</PackageFileName>
</PackageList>
<Qualification>Logo/IDDA</Qualification>
<LogoSubmissionIDList>
<LogoSubmissionID>XXXXXXX</LogoSubmissionID>
</LogoSubmissionIDList>
</Experience>
<Experience update="false">
<ExperienceName>Test3</ExperienceName>
<PackageList>
<PackageFileName locale="en-us" preview="false">
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX.devicemanifest-ms
</PackageFileName>
</PackageList>
<Qualification>Logo/IDDA</Qualification>
<LogoSubmissionIDList>
<LogoSubmissionID>XXXXXXX</LogoSubmissionID>
</LogoSubmissionIDList>
</Experience>
<Experience update="false">
<ExperienceName>Test4</ExperienceName>
<PackageList>
<PackageFileName locale="en-us" preview="false">
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX.devicemetadata-ms
</PackageFileName>
</PackageList>
<Qualification>Logo/IDDA</Qualification>
<LogoSubmissionIDList>
<LogoSubmissionID>XXXXXXX</LogoSubmissionID>
</LogoSubmissionIDList>
</Experience>
<Experience update="false">
<ExperienceName>Test5</ExperienceName>
<PackageList>
<PackageFileName locale="en-us" preview="false">
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX.devicemetadata-ms
</PackageFileName>
</PackageList>
<Qualification>Logo/IDDA</Qualification>
<LogoSubmissionIDList>
<LogoSubmissionID>XXXXXXX</LogoSubmissionID>
</LogoSubmissionIDList>
</Experience>
</BulkMetadataSubmission>