Envoyer un package de métadonnées en bloc

Pour envoyer un package de métadonnées en bloc :

  1. Signez le package de métadonnées en bloc avec l’outil SignTool .

  2. Connectez-vous au tableau de bord à partir du Centre de développement matériel ou du Centre de développement Windows à l’aide d’un compte Microsoft.

  3. Sous Métadonnées de l’appareil, cliquez sur Créer une soumission en bloc.

  4. Recherchez et sélectionnez votre nouveau package de métadonnées en bloc, puis cliquez sur Envoyer.

Création d’un package de soumission en bloc

Un package de soumission de métadonnées en bloc est le format de package dans lequel plusieurs packages de métadonnées d’appareil peuvent être envoyés au tableau de bord.

Les packages de soumission de métadonnées en bloc doivent être chargés dans le tableau de bord à l’aide de la fonctionnalité de soumission en bloc. Cette fonctionnalité supprime l’interface utilisateur permettant de créer des expériences afin de faciliter le chargement de plusieurs packages de métadonnées simultanément. Les informations permettant de créer des expériences et de modifier les attributs de package sont contenues dans le document XML BulkMetadataSubmission.

Un maximum de 50 fichiers devicemetadata-ms ou devicemanifest-ms peuvent être inclus dans un package en bloc.

Pour plus d’informations sur l’utilisation de l’Assistant Soumission de métadonnées d’appareil pour créer un package de métadonnées en bloc, consultez Création d’un package de soumission de métadonnées d’appareil dans Visual Studio.

Contenu du package de soumission de métadonnées en bloc

Chaque package de soumission de métadonnées en bloc se compose des composants suivants :

  • Package(s) de métadonnées d’appareil

    Les packages de métadonnées d’appareil contiennent des informations et des graphiques pour afficher les icônes de l’appareil, définir des actions et utiliser les fonctionnalités d’expérience de l’appareil.

  • Package(s) de manifeste d’appareil

    Les packages de manifeste d’appareil contiennent des informations pour valider les packages de métadonnées d’appareil.

  • Document XML BulkMetadataSubmission

    Ce document contient des données utilisées pour envoyer correctement des packages sans interface utilisateur. Le tableau de bord utilise les informations de ce document pour créer des expériences avec des noms conviviaux, organiser des packages en expériences, mettre à jour des expériences et marquer des packages individuels en préversion.

Notes

Les documents XML doivent être enregistrés à l’aide de l’encodage UTF-8.

Vous devez inclure au moins un package de métadonnées d’appareil ou de manifeste d’appareil dans votre package de soumission de métadonnées en bloc.

Structure d’un package de soumission de métadonnées en bloc

Les composants d’un package de soumission de métadonnées en bloc sont stockés dans un fichier d’armoire compressé. Le nom de fichier doit avoir un suffixe de .bulkmetadata-ms. »

Chaque package de soumission de métadonnées en bloc doit avoir la structure suivante :

DDMMYYYY.bulkmetadata-ms
\Filename1.devicemetadata-ms
\Filename2.devicemetadata-ms
\...
\Filename3.devicemanifest-ms
\Filename4.devicemanifest-ms
\...
\BulkMetadataSubmission.xml

Filename1, Filename2, Filename3, Filename4, etc. doivent être des GUID.

Pour créer le BulkMetadataSubmission.xml, consultez Création de BulkMetadataSubmission.xml ci-dessous.

Pour développer le package de métadonnées d’appareil *.devicemetadata-ms, consultez Informations de référence sur le schéma de package de métadonnées d’appareil pour Windows 8.

Pour développer le package de manifeste d’appareil *.devicemanifest-ms, consultez Envoyer un package de manifeste d’appareil PC.

Vous pouvez utiliser l’outil Cabarc pour créer ces packages CAB. Pour en savoir plus sur cet outil, consultez Vue d’ensemble de Cabarc.

Lorsque vous créez un fichier *.bulkmetadata-ms à l’aide de l’outil Cabarc, vous devez créer un répertoire local dans lequel les packages de métadonnées d’appareil (*.devicemetadata-ms), les packages de manifeste d’appareil (*.devicemanifest-ms) et le document XML BulkMetadataSubmission se trouvent à la racine du répertoire.

Notes

  • Les noms de fichiers .devicemetadata-ms et .devicemanifest-ms doivent spécifier le GUID sans délimiteurs à accolade ({}).

  • Le GUID de chaque package de métadonnées d’appareil et package de manifeste d’appareil doit être unique. Lorsque vous créez un package nouveau ou révisé, vous devez créer un GUID.

  • Pour plus d’informations sur la création de fichiers d’armoire, consultez Microsoft Cabinet SDK.

Exemple

Voici un exemple d’utilisation de l’outil Cabarc pour créer un fichier .bulkmetadata-ms. Dans cet exemple, les composants du fichier de métadonnées en bloc se trouvent dans un répertoire local nommé BulkPackages :

.\BulkPackages\
.\BulkPackages\BulkMetadataSubmission.xml
.\BulkPackages\GUID1.devicemetadata-ms
.\BulkPackages\GUID2.devicemetadata-ms
.\BulkPackages\GUID3.devicemanifest-ms
.\BulkPackages\GUID4.devicemanifest-ms

Le fichier GUID.pcmetadata-ms a été créé dans un répertoire local nommé 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

Notes

Vous trouverez plus d’informations sur cet outil dans Vue d’ensemble de Cabarc.

Création de BulkMetadataSubmission.xml

Schéma XML BulkMetadataSubmission

Un package de soumission de métadonnées en bloc contient un BulkMetadataSubmission.xml document, qui contient des informations que le tableau de bord utilise pour créer des expériences avec des noms conviviaux, organiser des packages en expériences, mettre à jour des expériences et marquer des packages individuels en préversion.

Les données du document BulkMetadataSubmission.xml sont mises en forme en fonction du schéma XML BulkMetadataSubmission, qui est décrit ci-dessous.

Notes

Le document XML doit être enregistré à l’aide de l’encodage UTF-8.

BulkMetadataSubmission XML Schema NameSpace

Voici l’espace de noms du schéma XML PcMetadataSubmission : http://schemas.microsoft.com/Windows/2010/08/MetadataSubmission/BulkMetadataSubmission

Vue d’ensemble des éléments/attributs XML BulkMetadataSubmission

Le tableau suivant décrit les éléments de métadonnées et les attributs du schéma XML BulkMetadataSubmission.

Élément/Attributs Élément/Type d’attribut Obligatoire/facultatif
Expérience ExperienceType Obligatoire
ExperienceName xs:string Obligatoire
ExperienceId tns:GUIDType Facultatif
PackageList tns:PackageListType Obligatoire
PackageFileName PackageFileNameType Obligatoire
preview xs:Boolean Obligatoire
locale xs:string Obligatoire
Qualification tns:QualificationType Obligatoire
LogoSubmissionIDList tns:LogoSubmissionIDListType Facultatif
LogoSubmissionID xs:integer Obligatoire
update xs:Boolean Obligatoire

Métadonnées de schéma XML BulkMetadataSubmission

Voici les métadonnées de schéma 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>

Référence de schéma XML BulkMetadataSubmission

Le schéma XML BulkMetadataSubmission définit les éléments et attributs suivants :

  • BulkMetadataSubmission

    • Expérience

      • ExperienceName

      • ExperienceID

      • PackageList

        • PackageFileName

          • preview

          • locale

      • Qualification

      • LogoSubmissionIDList

        • LogoSubmissionID
      • update

Élément Experience

L’élément Experience spécifie des informations pour une expérience unique. Pour plus d’informations sur les expériences, consultez Informations de référence sur le schéma de package de métadonnées d’appareil pour Windows 8.

Sur la base de ces informations, le tableau de bord crée une expérience avec les informations correctes et envoie des packages à cette expérience, ou met à jour une expérience existante avec de nouveaux packages.

<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>

Plusieurs éléments Experience peuvent être utilisés pour spécifier plusieurs expériences. Cela permet une soumission unique de nombreux packages pour différents appareils.

Par exemple, consultez les rubriques suivantes.

<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, élément

L’élément ExperienceName spécifie le nom d’une expérience. Le tableau de bord crée une expérience avec ce nom s’il s’agit d’une nouvelle expérience. Elle ignore également cette valeur lorsqu’il s’agit d’une mise à jour d’une expérience existante.

<xs:element name="ExperienceName" type="xs:string" />

Élément ExperienceId

L’élément ExperienceId spécifie le GUID qui est l’ID d’expérience. Cette valeur est requise lors de la mise à jour d’une expérience existante. Le tableau de bord utilise cette valeur pour identifier l’expérience à mettre à jour.

<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, élément

L’élément PackageList spécifie la liste des métadonnées d’appareil ou des packages de manifeste d’appareil à inclure dans une expérience. Le tableau de bord utilise ces informations pour ajouter des packages à une expérience nouvelle ou existante.

<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, élément

L’élément PackageFileName spécifie le nom de fichier et les informations d’un package de métadonnées d’appareil ou de manifeste d’appareil unique. Le tableau de bord utilise ces informations pour ajouter un package à une expérience nouvelle ou existante, et marquer correctement le package comme préversion, le cas échéant. En fonction de la préversion et des valeurs de paramètres régionaux, le tableau de bord supprime également les packages existants si nécessaire

<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>

Les attributs d’aperçu et de paramètres régionaux de l’élément PackageFileName permettent au tableau de bord de mettre à jour votre package dynamique existant avec un package nouvellement envoyé.

Par exemple, si un package en-US preview existe déjà dans l’expérience et qu’un package en-US preview a été envoyé dans un package de soumission de métadonnées en bloc pour la même expérience, le package existant est automatiquement supprimé et le nouveau package est envoyé.

Pour cette raison, il est également important d’être prudent lors de la mise à jour des packages afin d’éviter les suppressions accidentelles.

Aperçu de l’attribut

L’attribut preview spécifie si un package de manifeste d’appareil ou de métadonnées d’appareil doit être marqué en préversion. Pour plus d’informations sur la façon dont le tableau de bord utilise cette valeur, consultez PackageFileName, élément.

<xs:attribute name="preview" type="xs:boolean" use="required" />

Attribut de paramètres régionaux

L’attribut de paramètres régionaux spécifie que les paramètres régionaux déclarés (à partir de PackageInfo.xml) d’un package de métadonnées d’appareil ou de manifeste d’appareil doivent être marqués en préversion. Pour plus d’informations sur la façon dont le tableau de bord utilise cette valeur, consultez PackageFileName, élément.

<xs:attribute name="locale" type="xs:string" use="required" />

Élément Qualification

L’élément Qualification spécifie si l’appareil a une certification Logo, est inclus dans la liste Contrat de distribution du pilote de boîte de réception (IDDA) ou utilise un pilote de boîte de réception Microsoft. Le tableau de bord utilise ces informations pour garantir la certification d’appareil correcte pour le type de métadonnées d’appareil que vous envoyez.

<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>

Les fonctionnalités telles que Device Stage ne sont pas disponibles pour les appareils qui n’ont pas réussi la certification logo et ne figurent pas dans la liste IDDA.

Vous pouvez sélectionner l’une des deux options pour chaque expérience. Ces options et leurs définitions sont indiquées dans le tableau ci-dessous :

Valeur d'énumération Description
Logo/IDDA Votre appareil dispose d’une certification Logo ou figure dans la liste IDDA. Si vous disposez d’une certification Logo, vous devez spécifier les ID de soumission de logo spécifiques dans l’élément LogoSubmissionIDList.
MicrosoftInboxDrive Votre appareil utilise un pilote de boîte de réception Microsoft. Certaines fonctionnalités des métadonnées d’appareil peuvent ne pas être disponibles lors de l’utilisation de ce niveau de qualification (par exemple, Device Stage)

LogoSubmissionIDList, élément

L’élément LogoSubmissionIDList spécifie la liste des certifications de logo pour un appareil. Pour plus d’informations sur la façon dont le tableau de bord utilise cette valeur, consultez Élément de qualification.

<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, élément

L’élément LogoSubmissionID spécifie une certification de logo individuelle pour un appareil. Pour plus d’informations sur la façon dont le tableau de bord utilise cette valeur, consultez Élément de qualification.

<xs:element name="LogoSubmissionID" type="xs:integer"  maxOccurs="unbounded" />

Plusieurs éléments LogoSubmissionID peuvent être utilisés pour indiquer plusieurs certifications logo pour un seul appareil. Les utilisateurs doivent répertorier toutes les certifications de logo pour leur appareil dans la liste. Voici un exemple où plusieurs certifications de logo sont répertoriées :

<LogoSubmissionIDList>
  <LogoSubmissionID>0000001</LogoSubmissionID>
  <LogoSubmissionID>0000002</LogoSubmissionID>
  <LogoSubmissionID>0000003</LogoSubmissionID>
</LogoSubmissionIDList>

update Attribute

L’attribut update indique si une expérience est en cours de mise à jour. Le tableau de bord utilise cette valeur pour mettre à jour une expérience en supprimant les packages en conflit et en chargeant de nouveaux packages lorsque l’attribut de mise à jour est défini sur true. Lorsque l’attribut de mise à jour est défini sur false, le tableau de bord crée une nouvelle expérience et y charge de nouveaux packages.

<xs:attribute name="update" type="xs:boolean" use="required"/>

Exemple XML BulkMetadataSubmission

Le document XML suivant utilise le schéma XML BulkMetadataSubmission pour spécifier les composants du document 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>