Compartilhar via


Enviar um pacote de metadados em massa

Para enviar um pacote de metadados em massa:

  1. Assine o pacote de metadados em massa com a ferramenta SignTool .

  2. Entre no Painel do Centro de Desenvolvimento de Hardware ou do Centro de Desenvolvimento do Windows usando uma conta da Microsoft.

  3. Em Metadados do dispositivo, clique em Criar envio em massa.

  4. Procure e selecione seu novo pacote de metadados em massa e clique em Enviar.

Criando um pacote de envio em massa

Um pacote de envio de metadados em massa é o formato do pacote no qual vários pacotes de metadados de dispositivo podem ser enviados para o Painel.

Os pacotes de envio de metadados em massa devem ser carregados no Painel usando o recurso de envio em massa. Esse recurso remove a interface do usuário para criar experiências para facilitar o carregamento de vários pacotes de metadados simultaneamente. As informações para criar experiências e modificar atributos de pacote estão contidas no documento XML BulkMetadataSubmission.

No máximo 50 arquivos devicemetadata-ms ou devicemanifest-ms podem ser incluídos em um pacote em massa.

Para obter informações sobre como usar o Assistente de Envio de Metadados do Dispositivo para criar um pacote de metadados em massa, consulte Criando um pacote de envio de metadados do dispositivo no Visual Studio.

Conteúdo do pacote de envio de metadados em massa

Cada pacote de envio de metadados em massa consiste nos seguintes componentes:

  • Pacotes de metadados do dispositivo

    Os pacotes de metadados do dispositivo contêm informações e elementos gráficos para exibir ícones do dispositivo, definir ações e utilizar recursos de experiência do dispositivo.

  • Pacotes de manifesto do dispositivo

    Os pacotes de manifesto do dispositivo contêm informações para validar pacotes de metadados do dispositivo.

  • Documento XML BulkMetadataSubmission

    Este documento contém dados usados para enviar pacotes corretamente sem uma interface do usuário. O Painel usa informações neste documento para criar experiências com nomes amigáveis, organizar pacotes em experiências, atualizar experiências e marcar pacotes individuais como versão prévia.

Observação

Os documentos XML devem ser salvos usando a codificação UTF-8.

Você deve incluir pelo menos um pacote de metadados de dispositivo ou manifesto do dispositivo no pacote de envio de metadados em massa.

Estrutura de um pacote de envio de metadados em massa

Os componentes de um pacote de envio de metadados em massa são armazenados em um arquivo de gabinete compactado. O nome do arquivo deve ter um sufixo ".bulkmetadata-ms".

Cada pacote de envio de metadados em massa deve ter a seguinte estrutura:

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

Filename1, Filename2, Filename3, Filename4 e assim por diante, devem ser GUIDs.

Para criar o BulkMetadataSubmission.xml, consulte Criando BulkMetadataSubmission.xml abaixo.

Para desenvolver o pacote de metadados do dispositivo, *.devicemetadata-ms, consulte Referência de esquema de pacote de metadados do dispositivo para Windows 8.

Para desenvolver o pacote de manifesto do dispositivo, *.devicemanifest-ms, consulte Enviar um pacote de manifesto do dispositivo pc.

Você pode usar a ferramenta Cabarc para criar esses pacotes CAB. Para saber mais sobre essa ferramenta, confira Visão geral do Cabarc.

Ao criar um arquivo *.bulkmetadata-ms usando a ferramenta Cabarc, você deve criar um diretório local no qual os pacotes de metadados do dispositivo (*.devicemetadata-ms), os pacotes de manifesto do dispositivo (*.devicemanifest-ms) e o documento XML BulkMetadataSubmission estão na raiz do diretório.

Comentários

  • Os nomes de arquivo .devicemetadata-ms e .devicemanifest-ms devem especificar o GUID sem os delimitadores de chaves ({}).

  • O GUID para cada pacote de metadados do dispositivo e o pacote de manifesto do dispositivo devem ser exclusivos. Ao criar um pacote novo ou revisado, você deve criar um novo GUID.

  • Para obter mais detalhes sobre como criar arquivos de gabinete, consulte SDK do Microsoft Cabinet.

Exemplo

Veja a seguir um exemplo de como usar a ferramenta Cabarc para criar um arquivo .bulkmetadata-ms. Neste exemplo, os componentes do arquivo de metadados em massa estão localizados em um diretório local chamado BulkPackages:

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

O arquivo GUID.pcmetadata-ms foi criado em um diretório local chamado 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

Observação

Você pode encontrar mais informações sobre essa ferramenta na Visão geral do Cabarc.

Criando BulkMetadataSubmission.xml

Esquema XML BulkMetadataSubmission

Um pacote de envio de metadados em massa contém uma BulkMetadataSubmission.xml documento, que tem informações que o Painel usa para criar experiências com nomes amigáveis, organizar pacotes em experiências, atualizar experiências e marcar pacotes individuais como versão prévia.

Os dados no documento BulkMetadataSubmission.xml são formatados com base no esquema XML BulkMetadataSubmission, descrito abaixo.

Observação

O documento XML deve ser salvo usando a codificação UTF-8.

BulkMetadataSubmission XML Schema NameSpace

Veja a seguir o namespace do esquema XML PcMetadataSubmission: http://schemas.microsoft.com/Windows/2010/08/MetadataSubmission/BulkMetadataSubmission

Visão geral de elementos/atributos XML BulkMetadataSubmission

A tabela a seguir descreve os elementos de metadados e os atributos do esquema XML BulkMetadataSubmission.

Elemento/atributos Tipo de elemento/atributo Obrigatório/opcional
Experiência ExperienceType Obrigatório
ExperienceName xs:string Obrigatório
ExperienceId tns:GUIDType Opcional
PackageList tns:PackageListType Obrigatório
PackageFileName PackageFileNameType Obrigatório
preview xs:Boolean Obrigatório
locale xs:string Obrigatório
Qualificação tns:QualificationType Obrigatório
LogoSubmissionIDList tns:LogoSubmissionIDListType Opcional
LogoSubmissionID xs:integer Obrigatório
atualizar xs:Boolean Obrigatório

Metadados de esquema XML BulkMetadataSubmission

Veja a seguir os metadados de esquema 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>

Referência de esquema XML BulkMetadataSubmission

O esquema XML BulkMetadataSubmission define os seguintes elementos e atributos:

  • BulkMetadataSubmission

    • Experiência

      • ExperienceName

      • ExperienceID

      • PackageList

        • PackageFileName

          • preview

          • localidade

      • Qualificação

      • LogoSubmissionIDList

        • LogoSubmissionID
      • atualizar

Elemento Experience

O elemento Experience especifica informações para uma única experiência. Para obter mais informações sobre experiências, consulte Referência de esquema de pacote de metadados de dispositivo para Windows 8.

Com base nessas informações, o Painel cria uma experiência com as informações corretas e envia pacotes para essa experiência ou atualiza uma experiência existente com novos pacotes.

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

Mais de um elemento Experience pode ser usado para especificar várias experiências. Isso permite um único envio de muitos pacotes para dispositivos diferentes.

Por exemplo, consulte o seguinte.

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

Elemento ExperienceName

O elemento ExperienceName especifica o nome de uma experiência. O Painel criará uma experiência com esse nome se essa for uma nova experiência. Ou ignora esse valor quando se trata de uma atualização para uma experiência existente.

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

Elemento ExperienceId

O elemento ExperienceId especifica o GUID que é a ID da Experiência. Esse valor é necessário ao atualizar uma experiência existente. O Painel usa esse valor para identificar a experiência a ser atualizada.

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

Elemento PackageList

O elemento PackageList especifica a lista de metadados do dispositivo ou pacotes de manifesto do dispositivo a serem incluídos em uma experiência. O Painel usa essas informações para adicionar pacotes a uma experiência nova ou existente.

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

Elemento PackageFileName

O elemento PackageFileName especifica o nome do arquivo e as informações de um único pacote de metadados de dispositivo ou manifesto do dispositivo. O Painel usa essas informações para adicionar um pacote a uma experiência nova ou existente e marcar corretamente o pacote como versão prévia, se indicado. Com base nos valores de visualização e localidade, o Painel também exclui os pacotes existentes, se necessário

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

Os atributos de visualização e localidade do elemento PackageFileName permitem que o Painel atualize seu pacote dinâmico existente com um pacote recém-enviado.

Por exemplo, se um pacote de visualização en-US já existir na experiência e um pacote de visualização en-US tiver sido enviado em um pacote de envio de metadados em massa para a mesma experiência, o pacote existente será excluído automaticamente e o novo pacote será enviado.

Por esse motivo, também é importante ter cuidado ao atualizar pacotes para evitar exclusões acidentais.

atributo preview

O atributo de visualização especifica se um pacote de metadados de dispositivo ou manifesto do dispositivo deve ser marcado como versão prévia. Consulte Elemento PackageFileName para obter mais informações sobre como o Painel usa esse valor.

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

Atributo de localidade

O atributo de localidade especifica que a localidade declarada (de PackageInfo.xml) de um pacote de metadados de dispositivo ou manifesto do dispositivo deve ser marcada como versão prévia. Consulte Elemento PackageFileName para obter mais informações sobre como o Painel usa esse valor.

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

Elemento Qualification

O elemento Qualification especifica se o dispositivo tem uma certificação Logo, está incluído na lista IDDA (Contrato de Distribuição de Driver de Caixa de Entrada) ou usa um driver de caixa de entrada da Microsoft. O Painel usa essas informações para garantir a certificação de dispositivo correta para o tipo de metadados de dispositivo que você está enviando.

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

Recursos como o Estágio do Dispositivo não estão disponíveis para dispositivos que não passaram na certificação Logo e não estão na lista IDDA.

Você pode selecionar uma das duas opções para cada experiência. Essas opções e suas definições são indicadas na tabela abaixo:

Valor de enumeração Descrição
Logotipo/IDDA Seu dispositivo tem uma certificação Logo ou está na lista IDDA. Se você tiver uma certificação Logo, precisará especificar as IDs de Envio de Logotipo específicas no elemento LogoSubmissionIDList.
MicrosoftInboxDrive Seu dispositivo usa um driver de caixa de entrada da Microsoft. Alguns recursos de metadados do dispositivo podem não estar disponíveis ao usar esse nível de qualificação (como o Estágio do Dispositivo)

Elemento LogoSubmissionIDList

O elemento LogoSubmissionIDList especifica a lista de certificações de logotipo para um dispositivo. Consulte Elemento de qualificação para obter mais informações sobre como o Painel usa esse valor.

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

Elemento LogoSubmissionID

O elemento LogoSubmissionID especifica uma certificação de logotipo individual para um dispositivo. Consulte Elemento de qualificação para obter mais informações sobre como o Painel usa esse valor.

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

Vários elementos LogoSubmissionID podem ser usados para indicar várias certificações logo para um único dispositivo. Os usuários devem listar todas as certificações de logotipo para seu dispositivo na lista. Veja a seguir um exemplo em que várias certificações de logotipo são listadas:

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

atualizar atributo

O atributo de atualização designa se uma experiência está ou não sendo atualizada. O Painel usa esse valor para atualizar uma experiência excluindo pacotes conflitantes e carregando novos pacotes quando o atributo de atualização é definido como true. Quando o atributo de atualização for definido como false, o Painel criará uma nova experiência e carregará novos pacotes nele.

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

Exemplo de XML BulkMetadataSubmission

O documento XML a seguir usa o esquema XML BulkMetadataSubmission para especificar os componentes do documento 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>