Inviare un pacchetto di metadati bulk
Per inviare un pacchetto di metadati bulk:
Firmare il pacchetto di metadati bulk con lo strumento SignTool .
Accedere al dashboard da Hardware Dev Center o Windows Dev Center usando un account Microsoft.
In Metadati del dispositivo fare clic su Crea invio bulk.
Cercare e selezionare il nuovo pacchetto di metadati bulk e quindi fare clic su Invia.
Creazione di un pacchetto di invio bulk
Un pacchetto di invio di metadati bulk è il formato del pacchetto in cui è possibile inviare più pacchetti di metadati del dispositivo al dashboard.
I pacchetti di invio di metadati bulk devono essere caricati nel dashboard usando la funzionalità di invio bulk. Questa funzionalità rimuove l'interfaccia utente per la creazione di esperienze per semplificare il caricamento di più pacchetti di metadati contemporaneamente. Le informazioni per creare esperienze e modificare gli attributi del pacchetto sono contenute nel documento XML BulkMetadataSubmission.
Un massimo di 50 file devicemetadata-ms o devicemanifest-ms può essere incluso in un pacchetto bulk.
Per informazioni sull'uso della Creazione guidata metadati dispositivo per creare un pacchetto di metadati bulk, vedere Creazione di un pacchetto di invio dei metadati del dispositivo in Visual Studio.
Contenuto del pacchetto di invio di metadati bulk
Ogni pacchetto di invio di metadati bulk è costituito dai componenti seguenti:
Pacchetti di metadati del dispositivo
I pacchetti di metadati del dispositivo contengono informazioni e grafica per visualizzare icone del dispositivo, impostare azioni e usare le funzionalità dell'esperienza del dispositivo.
Pacchetti manifesto del dispositivo
I pacchetti manifesto del dispositivo contengono informazioni per convalidare i pacchetti di metadati del dispositivo.
Documento XML BulkMetadataSubmission
Questo documento contiene dati usati per inviare correttamente i pacchetti senza un'interfaccia utente. Il dashboard usa le informazioni in questo documento per creare esperienze con nomi descrittivi, organizzare pacchetti in esperienze, aggiornare esperienze e contrassegnare i singoli pacchetti come anteprima.
Nota
I documenti XML devono essere salvati usando la codifica UTF-8.
È necessario includere almeno un pacchetto di metadati del dispositivo o del manifesto del dispositivo nel pacchetto di invio di metadati bulk.
Struttura di un pacchetto di invio di metadati bulk
I componenti di un pacchetto di invio di metadati bulk vengono archiviati in un file cabinet compresso. Il nome del file deve avere un suffisso di ".bulkmetadata-ms".
Ogni pacchetto di invio di metadati bulk deve avere la struttura seguente:
DDMMYYYY.bulkmetadata-ms
\Filename1.devicemetadata-ms
\Filename2.devicemetadata-ms
\...
\Filename3.devicemanifest-ms
\Filename4.devicemanifest-ms
\...
\BulkMetadataSubmission.xml
Filename1, Filename2, Filename3, Filename4 e così via, devono essere GUID.
Per creare la BulkMetadataSubmission.xml, vedere Creazione di BulkMetadataSubmission.xml di seguito.
Per sviluppare il pacchetto di metadati del dispositivo, *.devicemetadata-ms, vedere Informazioni di riferimento sullo schema del pacchetto di metadati del dispositivo per Windows 8.
Per sviluppare il pacchetto manifesto del dispositivo, *.devicemanifest-ms, vedere Inviare un pacchetto manifesto del dispositivo PC.
È possibile usare lo strumento Cabarc per creare questi pacchetti CAB. Per altre informazioni su questo strumento, vedere Panoramica di Cabarc.
Quando si crea un file *.bulkmetadata-ms usando lo strumento Cabarc, è necessario creare una directory locale in cui i pacchetti di metadati del dispositivo (*.devicemetadata-ms), i pacchetti manifesto del dispositivo (*.devicemanifest-ms) e il documento XML BulkMetadataSubmission sono nella radice della directory.
Commenti
I file con estensione devicemetadata-ms e devicemanifest-ms devono specificare il GUID senza i delimitatori curly parentesi graffe ({}).
Il GUID per ogni pacchetto di metadati del dispositivo e il pacchetto manifesto del dispositivo devono essere univoci. Quando si crea un nuovo pacchetto o modificato, è necessario creare un nuovo GUID.
Per altre informazioni su come creare file di cabinet, vedere Microsoft Cabinet SDK.
Esempio
Di seguito è riportato un esempio di come usare lo strumento Cabarc per creare un file con estensione bulkmetadata-ms. In questo esempio i componenti del file di metadati bulk si trovano in una directory locale denominata BulkPackages:
.\BulkPackages\
.\BulkPackages\BulkMetadataSubmission.xml
.\BulkPackages\GUID1.devicemetadata-ms
.\BulkPackages\GUID2.devicemetadata-ms
.\BulkPackages\GUID3.devicemanifest-ms
.\BulkPackages\GUID4.devicemanifest-ms
Il file GUID.pcmetadata-ms è stato creato in una directory locale denominata 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
Nota
Per altre informazioni su questo strumento, vedere Panoramica di Cabarc.
Creazione di BulkMetadataSubmission.xml
BulkMetadataSubmission XML Schema
Un pacchetto di invio di metadati bulk contiene un documento BulkMetadataSubmission.xml, che contiene informazioni usate dal dashboard per creare esperienze con nomi descrittivi, organizzare pacchetti in esperienze, aggiornare esperienze e contrassegnare i singoli pacchetti come anteprima.
I dati nel documento BulkMetadataSubmission.xml vengono formattati in base allo schema XML BulkMetadataSubmission, descritto di seguito.
Nota
Il documento XML deve essere salvato usando la codifica UTF-8.
BulkMetadataSubmission XML Schema NameSpace
Di seguito è riportato lo spazio dei nomi dello schema XML PcMetadataSubmission: http://schemas.microsoft.com/Windows/2010/08/MetadataSubmission/BulkMetadataSubmission
Panoramica di BulkMetadataSubmission XML Elements/Attributes
La tabella seguente descrive gli elementi e gli attributi dei metadati dello schema XML BulkMetadataSubmission.
Elemento/Attributi | Tipo elemento/attributo | Obbligatorio/facoltativo |
---|---|---|
Esperienza | ExperienceType | Necessario |
ExperienceName | xs:string | Necessario |
ExperienceId | tns:GUIDType | Facoltativo |
PackageList | tns:PackageListType | Necessario |
PackageFileName | PackageFileNameType | Necessario |
preview | xs:boolean | Necessario |
locale | xs:string | Necessario |
Qualification | tns:QualificationType | Necessario |
LogoSubmissionIDList | tns:LogoSubmissionIDListType | Facoltativo |
LogoSubmissionID | xs:integer | Necessario |
update | xs:boolean | Necessario |
Metadati xml Schema BulkMetadataSubmission
Di seguito sono riportati i metadati dello schema 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>
Informazioni di riferimento su XML Schema BulkMetadataSubmission
Lo schema XML BulkMetadataSubmission definisce gli elementi e gli attributi seguenti:
BulkMetadataSubmission
Esperienza
ExperienceName
ExperienceID
PackageList
PackageFileName
preview
locale
Qualification
LogoSubmissionIDList
- LogoSubmissionID
update
Elemento Experience
L'elemento Experience specifica le informazioni per una singola esperienza. Per altre informazioni sulle esperienze, vedere Informazioni di riferimento sullo schema del pacchetto di metadati del dispositivo per Windows 8.
In base a queste informazioni, il dashboard crea un'esperienza con le informazioni corrette e invia pacchetti a questa esperienza o aggiorna un'esperienza esistente con nuovi pacchetti.
<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>
È possibile usare più elementi Experience per specificare più esperienze. Ciò consente un singolo invio di molti pacchetti per dispositivi diversi.
Ad esempio, vedere quanto segue.
<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
L'elemento ExperienceName specifica il nome di un'esperienza. Il dashboard creerà un'esperienza con questo nome se si tratta di una nuova esperienza. In alternativa, ignora questo valore quando si tratta di un aggiornamento a un'esperienza esistente.
<xs:element name="ExperienceName" type="xs:string" />
Elemento ExperienceId
L'elemento ExperienceId specifica il GUID che corrisponde all'ID esperienza. Questo valore è necessario quando si aggiorna un'esperienza esistente. Il dashboard usa questo valore per identificare l'esperienza da aggiornare.
<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
L'elemento PackageList specifica l'elenco dei metadati del dispositivo o dei pacchetti manifesto del dispositivo da includere in un'esperienza. Il dashboard usa queste informazioni per aggiungere pacchetti a un'esperienza nuova o esistente.
<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
L'elemento PackageFileName specifica il nome file e le informazioni di un singolo pacchetto del manifesto del dispositivo o dei metadati del dispositivo. Il dashboard usa queste informazioni per aggiungere un pacchetto a un'esperienza nuova o esistente e contrassegnare correttamente il pacchetto come anteprima se indicato. In base ai valori di anteprima e impostazioni locali, il dashboard elimina anche i pacchetti esistenti se necessario
<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>
Gli attributi di anteprima e impostazioni locali dell'elemento PackageFileName consentono al dashboard di aggiornare il pacchetto live esistente con un pacchetto appena inviato.
Ad esempio, se esiste già un pacchetto di anteprima en-US nell'esperienza e un pacchetto di anteprima en-US è stato inviato in un pacchetto di invio di metadati bulk per la stessa esperienza, il pacchetto esistente verrà eliminato automaticamente e il nuovo pacchetto verrà inviato.
Per questo motivo, è anche importante prestare attenzione quando si aggiornano i pacchetti per evitare eliminazioni accidentali.
Attributo di anteprima
L'attributo di anteprima specifica se un pacchetto manifesto del dispositivo o metadati del dispositivo deve essere contrassegnato in anteprima. Per altre informazioni sul modo in cui il dashboard usa questo valore, vedere Elemento PackageFileName.
<xs:attribute name="preview" type="xs:boolean" use="required" />
Attributo delle impostazioni locali
L'attributo delle impostazioni locali specifica le impostazioni locali dichiarate (da PackageInfo.xml) di un pacchetto del manifesto del dispositivo o dei metadati del dispositivo devono essere contrassegnate in anteprima. Per altre informazioni sul modo in cui il dashboard usa questo valore, vedere Elemento PackageFileName.
<xs:attribute name="locale" type="xs:string" use="required" />
Elemento Di qualificazione
L'elemento Qualification specifica se il dispositivo ha una certificazione Logo, è incluso nell'elenco Inbox Driver Distribution Agreement (IDDA) o usa un driver di posta in arrivo Microsoft. Il dashboard usa queste informazioni per garantire la corretta certificazione del dispositivo per il tipo di metadati del dispositivo inviati.
<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>
Le funzionalità come Device Stage non sono disponibili per i dispositivi che non hanno superato la certificazione Logo e non sono presenti nell'elenco IDDA.
È possibile selezionare una delle due opzioni per ogni esperienza. Queste opzioni e le relative definizioni sono indicate nella tabella seguente:
Valore di enumerazione | Descrizione |
---|---|
Logo/IDDA | Il dispositivo ha una certificazione Logo o si trova nell'elenco IDDA. Se si dispone di una certificazione Logo, è necessario specificare gli ID di invio logo specifici nell'elemento LogoSubmissionIDList. |
MicrosoftInboxDrive | Il dispositivo usa un driver di posta in arrivo Microsoft. Alcune funzionalità dei metadati del dispositivo potrebbero non essere disponibili quando si usa questo livello di qualificazione (ad esempio Device Stage) |
Elemento LogoSubmissionIDList
L'elemento LogoSubmissionIDList specifica l'elenco di certificazioni logo per un dispositivo. Per altre informazioni sul modo in cui il dashboard usa questo valore, vedere Elemento di qualificazione.
<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
L'elemento LogoSubmissionID specifica una singola certificazione di logo per un dispositivo. Per altre informazioni sul modo in cui il dashboard usa questo valore, vedere Elemento di qualificazione.
<xs:element name="LogoSubmissionID" type="xs:integer" maxOccurs="unbounded" />
È possibile usare più elementi LogoSubmissionID per indicare più certificazioni logo per un singolo dispositivo. Gli utenti devono elencare tutte le certificazioni di logo per il dispositivo nell'elenco. Di seguito è riportato un esempio in cui sono elencate più certificazioni di logo:
<LogoSubmissionIDList>
<LogoSubmissionID>0000001</LogoSubmissionID>
<LogoSubmissionID>0000002</LogoSubmissionID>
<LogoSubmissionID>0000003</LogoSubmissionID>
</LogoSubmissionIDList>
Attributo update
L'attributo di aggiornamento indica se viene aggiornata o meno un'esperienza. Il dashboard usa questo valore per aggiornare un'esperienza eliminando pacchetti in conflitto e caricando nuovi pacchetti quando l'attributo di aggiornamento è impostato su true. Quando l'attributo di aggiornamento è impostato su false, il dashboard creerà una nuova esperienza e caricherà nuovi pacchetti.
<xs:attribute name="update" type="xs:boolean" use="required"/>
Esempio XML bulkMetadataSubmission
Il documento XML seguente usa lo schema XML BulkMetadataSubmission per specificare i componenti del 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>