Informations de référence sur le schéma de modèle d’application pour UE-V 2.1 SP1

Microsoft User Experience Virtualization (UE-V) 2.1 SP1 utilise des modèles d’emplacement de paramètres XML pour définir les paramètres d’application de bureau et les paramètres Windows qu’UE-V capture et applique. UE-V inclut un ensemble de modèles d’emplacement de paramètres par défaut. Vous pouvez également créer des modèles d’emplacement de paramètres personnalisés avec le générateur UE-V.

Un utilisateur avancé peut personnaliser le fichier XML pour un modèle d’emplacement de paramètres. Cet article détaille la structure XML des modèles d’emplacement des paramètres UE-V 2.1 SP1 et fournit des conseils pour modifier ces fichiers.

Référence du schéma de modèle d’application UE-V 2.1 SP1

Cette section détaille la structure XML du modèle d’emplacement des paramètres UE-V 2.1 SP1 et fournit des conseils pour modifier ce fichier.

Attribut de déclaration et d’encodage XML

Obligatoire : True

Type : Chaîne

La déclaration XML doit spécifier l’attribut XML version 1.0 (<?xml version="1.0">). Les modèles d’emplacement des paramètres créés par le générateur UE-V sont enregistrés dans l’encodage UTF-8, bien que l’encodage ne soit pas explicitement spécifié. Nous vous recommandons d’inclure l’attribut encoding="UTF-8 » dans cet élément comme meilleure pratique. Tous les modèles inclus avec le produit spécifient également cette balise. Pour référence, consultez les documents dans %ProgramFiles%\Microsoft User Experience Virtualization\Templates.

Par exemple :

<?xml version="1.0" encoding="UTF-8"?>

Namespace et élément racine

Obligatoire : True

Type : Chaîne

UE-V utilise l’espace de https://schemas.microsoft.com/UserExperienceVirtualization/2012/SettingsLocationTemplate noms pour toutes les applications. SettingsLocationTemplate est l’élément racine et contient tous les autres éléments. Référence SettingsLocationTemplate dans tous les modèles à l’aide de cette balise :

<SettingsLocationTemplate xmlns='https://schemas.microsoft.com/UserExperienceVirtualization/2012/SettingsLocationTemplate'>

Types de données

Ces éléments sont les types de données du schéma de modèle d’application UE-V.

  • GUID : GUID décrit une expression régulière (regex) d’identificateur global unique (GUID) standard au format \{[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}\}. Ce GUID est utilisé dans l’élément Filesetting\Root\KnownFolder pour vérifier la mise en forme des dossiers connus.

  • FilenameString : FilenameString fait référence au nom de fichier d’un processus à surveiller. L’expression régulière suivante limite ses valeurs : [^\\\?\*\|<>/:]+. En d’autres termes, ils ne peuvent pas contenir les caractères suivants :

    • Barres obliques inverses (\)
    • Astérisque (*)
    • Point d’interrogation (?)
    • Caractère de canal (|)
    • Signe Supérieur à (>)
    • Signe inférieur (<)
    • Barre oblique (/)
    • Deux-points (:)
  • IDString: IDString fait référence à la valeur d’ID des éléments Application, SettingsLocationTemplate et Éléments Common (utilisés pour décrire les suites d’applications qui partagent des paramètres communs). Elle est limitée par la même expression régulière que FilenameString ([^\\\?\*\|<>/:]+).

  • TemplateVersion : TemplateVersion est une valeur entière utilisée pour décrire la révision du modèle d’emplacement des paramètres. Sa valeur peut être comprise entre 0 et 2147483647.

  • Vide : Vide fait référence à une valeur null. Ces données sont utilisées dans Process\ShellProcess pour indiquer qu’il n’existe aucun processus à surveiller. Cette valeur ne doit pas être utilisée dans les modèles d’application.

  • Auteur : le type de données Author est un type complexe qui identifie l’auteur d’un modèle. Il contient deux éléments enfants : Name et Email. Dans le type de données Author, l’élément Name est obligatoire, tandis que l’élément Email est facultatif. Ce type est décrit plus en détail sous l’élément SettingsLocationTemplate.

  • Range : Range définit une classe entière composée de deux éléments enfants : Minimum et Maximum. Ce type de données est implémenté dans le type de données ProcessVersion. Si elles sont spécifiées, les valeurs Minimale et Maximale doivent être incluses.

  • ProcessVersion : ProcessVersion définit un type avec quatre éléments enfants : Major, Minor, Build et Patch. Ce type de données est utilisé par l’élément Process pour remplir ses valeurs ProductVersion et FileVersion. Les données de ce type sont une valeur Range. L’élément enfant Major est obligatoire et les autres sont facultatifs.

  • Architecture : L’architecture énumère deux valeurs possibles : Win32 et Win64. Ces valeurs sont utilisées pour spécifier l’architecture de processus.

  • Processus : le type de données Process est un conteneur utilisé pour décrire les processus que UE-V doit surveiller. Il contient six éléments enfants : Filename, Architecture, ProductName, FileDescription, ProductVersion et FileVersion. Ce tableau détaille le type de données respectif de chaque élément :

Élément Type de données Mandatory
Fichier FilenameString Vrai
Architecture Architecture Faux
ProductName Chaîne Faux
FileDescription Chaîne Faux
Productversion ProcessVersion Faux
FileVersion ProcessVersion Faux
  • Processus : le type de données Processus représente un conteneur pour une collection d’un ou plusieurs éléments Process. Deux éléments enfants sont pris en charge dans le type de séquence Processus : Process et ShellProcess. Process est un élément de type Process et ShellProcess est de type de données Empty. Au moins un élément doit être identifié dans la séquence.

  • Chemin : le chemin d’accès est utilisé par RegistrySetting et FileSetting pour faire référence aux chemins d’accès au registre et aux fichiers. Cet élément prend en charge deux attributs facultatifs : Recursive et DeleteIfNotFound. Les deux valeurs sont définies sur default="False ».

    Récursif indique que le chemin d’accès et tous les sous-dossiers sont inclus pour les paramètres de fichier ou que toutes les clés de Registre enfants sont incluses pour les paramètres du Registre. Dans les deux cas, tous les éléments au niveau actuel sont inclus dans les données capturées. Pour un objet FileSettings, tous les fichiers du dossier spécifié sont inclus dans les données capturées par UE-V, mais les dossiers ne sont pas inclus. Pour les chemins d’accès au Registre, toutes les valeurs du chemin actuel sont capturées, mais les clés de Registre enfants ne sont pas capturées. Dans les deux cas, vous devez veiller à éviter de capturer des jeux de données volumineux ou un grand nombre d’éléments.

    L’attribut DeleteIfNotFound supprime le paramètre des données de chemin de stockage des paramètres de l’utilisateur. Cet attribut peut être utile dans les cas où la suppression de ces paramètres du package permet d’économiser une grande quantité d’espace disque sur le serveur de fichiers de chemin de stockage des paramètres.

  • FileMask : FileMask spécifie uniquement certains types de fichiers pour le dossier défini par l’attribut Path. Par exemple, Path peut être C:\users\username\files et FileMask peut inclure *.txt uniquement des fichiers texte.

  • RegistrySetting : RegistrySetting représente un conteneur pour les clés et valeurs de Registre et le comportement souhaité associé de la part de l’agent UE-V. Quatre éléments enfants sont définis dans ce type : Path, Name, Exclude et une séquence des valeurs Path et Name.

  • FileSetting : FileSetting contient des paramètres associés aux fichiers et aux chemins d’accès aux fichiers. Quatre éléments enfants sont définis : Root, Path, FileMask et Exclude. La racine est obligatoire et les autres sont facultatives.

  • Paramètres : l’attribut Settings est un conteneur pour tous les paramètres qui s’appliquent à un modèle particulier. Il contient des instances des paramètres Registry, File, SystemParameter et CustomAction décrits précédemment. En outre, il peut également contenir les éléments enfants suivants avec les comportements décrits :

Élément Description
Asynchrone Les packages de paramètres asynchrones sont appliqués sans bloquer le démarrage de l’application afin que l’application démarre alors que les paramètres sont toujours appliqués. Cet élément est utile pour les paramètres qui peuvent être appliqués de manière asynchrone, tels que ceux via get/set une API, comme SystemParameterSetting.
PreventOverlappingSynchronization Par défaut, UE-V enregistre les paramètres d’une application uniquement lorsque la dernière instance d’une application utilisant le modèle est fermée. Lorsque cet élément a la valeur false, UE-V exporte les paramètres même si d’autres instances d’une application sont en cours d’exécution. Les modèles adaptés (ceux qui incluent une section Élément commun) fournis avec UE-V utilisent cet indicateur pour permettre aux paramètres partagés de toujours exporter à la fermeture de l’application, tout en empêchant l’exportation des paramètres spécifiques à l’application tant que la dernière instance n’est pas fermée.
AlwaysApplySettings Ce paramètre force l’application d’un package de paramètres importé, même s’il n’existe aucune différence entre le package et l’état actuel de l’application. Ce paramètre doit être utilisé uniquement dans des cas spéciaux, car il peut ralentir l’importation des paramètres.

Élément Name

Obligatoire : True

Type : Chaîne

Name spécifie un nom unique pour le modèle d’emplacement des paramètres. Il est utilisé à des fins d’affichage lors du référencement du modèle dans les journaux WMI, PowerShell, Observateur d’événements et de débogage. En général, évitez de référencer les informations de version, car cela peut être objecté à partir de l’élément ProductVersion. Par exemple, spécifiez <Name>My Application</Name> plutôt que <Name>My Application 1.1</Name>.

Remarque

UE-V ne fait pas référence à des DTD externes. Il n’est donc pas possible d’utiliser des entités nommées dans un modèle d’emplacement de paramètres. Par exemple, n’utilisez &reg; pas pour faire référence au signe de marque enregistré (®). Utilisez plutôt des références numérotées canoniques pour inclure ces types de caractères spéciaux, par exemple pour &#174 le caractère de marque déposée (®). Cette règle s’applique à toutes les valeurs de chaîne de ce document.

Pour obtenir la liste complète des entités de caractères, consultez W3 XHTML 1.0 - DTDs. Les documents encodés en UTF-8 peuvent inclure directement les caractères Unicode. L’enregistrement de modèles via le générateur UE-V convertit automatiquement les entités de caractères en leurs représentations Unicode.

ÉLÉMENT ID

Obligatoire : True

Type : Chaîne

ID remplit un identificateur unique pour un modèle particulier. Cette balise devient l’identificateur principal utilisé par l’agent UE-V pour référencer le modèle au moment de l’exécution (par exemple, consultez la sortie de la Get-UevTemplate et Get-UevTemplateProgram applets de commande PowerShell). Par convention, cette balise ne doit pas contenir d’espaces, ce qui simplifie l’écriture de scripts. Les numéros de version des applications doivent être spécifiés dans cet élément pour faciliter l’identification du modèle, tel que <ID>MicrosoftCalculator6</ID> ou <ID>MicrosoftOffice2010Win64</ID>.

Élément Version

Obligatoire : True

Type : Entier

Valeur minimale : 0

Valeur maximale : 2147483647

Version identifie la version du modèle d’emplacement des paramètres pour le suivi administratif des modifications. Le générateur UE-V incrémente automatiquement ce nombre d’un à chaque enregistrement du modèle. Notez que ce champ doit être un entier entier ; les valeurs fractionnaires, telles que <Version>2.5</Version> ne sont pas autorisées.

Astuce

Vous pouvez enregistrer des notes sur les modifications de version à l’aide de balises <!-- -->de commentaire XML, par exemple :

  <!--
     Version History

     Version 1 Jul 05, 2012 Initial template created by Generator - Denise@Contoso.com
     Version 2 Jul 31, 2012 Added support for app.exe v2.1.3 - Mark@Contoso.com
     Version 3 Jan 01, 2013 Added font settings support - Mark@Contoso.com
     Version 4 Jan 31, 2013 Added support for plugin settings - Tony@Contoso.com
   -->
  <Version>4</Version>

Important

Cette valeur est interrogée pour déterminer si une nouvelle version d’un modèle doit être appliquée à un modèle existant dans ces instances :

  • Lorsque la tâche de mise à jour automatique du modèle planifiée s’exécute.

  • Lorsque l’applet de commande PowerShell Update-UevTemplate est exécutée.

  • Lorsque la microsoft\uev:SettingsLocationTemplate méthode Update est appelée via WMI.

Élément Author

Obligatoire : False

Type : Chaîne

L’auteur identifie le créateur du modèle d’emplacement des paramètres. Deux éléments enfants facultatifs sont pris en charge : Name et Email. Les deux attributs sont facultatifs, mais, si l’élément enfant Email est spécifié, il doit être accompagné de l’élément Name. Author fait référence au nom complet du contact pour le modèle d’emplacement des paramètres, et l’adresse e-mail doit faire référence à une adresse e-mail pour l’auteur. Nous vous recommandons d’inclure ces informations dans les modèles que vous publiez publiquement.

Processus et élément de processus

Obligatoire : True

Type : Element

L’élément Processes contient au moins un <Process> élément, qui à son tour contient les éléments enfants suivants : Filename, Architecture, ProductName, FileDescription, ProductVersion et FileVersion. L’élément enfant Filename est obligatoire et les autres sont facultatifs. Un élément entièrement rempli contient des balises similaires à cet exemple :

<Process>
  <Filename>MyApplication.exe</Filename>
  <Architecture>Win64</Architecture>
  <ProductName> MyApplication </ProductName>
  <FileDescription>MyApplication.exe</FileDescription>
  <ProductVersion>
    <Major Minimum="2" Maximum="2" />
    <Minor Minimum="0" Maximum="0" />
    <Build Minimum="0" Maximum="0" />
    <Patch Minimum="5" Maximum="5" />
  </ProductVersion>
  <FileVersion>
    <Major Minimum="2" Maximum="2" />
    <Minor Minimum="0" Maximum="0" />
    <Build Minimum="0" Maximum="0" />
    <Patch Minimum="5" Maximum="5" />
  </FileVersion>
</Process>

Fichier

Obligatoire : True

Type : Chaîne

Filename fait référence au nom de fichier réel de l’exécutable tel qu’il apparaît dans le système de fichiers. Cet élément spécifie le critère principal utilisé par UE-V pour évaluer si un modèle s’applique ou non à un processus. Cet élément doit être spécifié dans le modèle d’emplacement des paramètres XML.

Les noms de fichiers valides ne peuvent pas correspondre à l’expression régulière suivante : [^\\\?\*\|<>/:]+. En d’autres termes, ils ne peuvent pas contenir les caractères suivants :

  • Barres obliques inverses (\)
  • Astérisque (*)
  • Point d’interrogation (?)
  • Caractère de canal (|)
  • Signe Supérieur à (>)
  • Signe inférieur (<)
  • Barre oblique (/)
  • Deux-points (:)

Astuce

Pour tester une chaîne par rapport à cette expression régulière, utilisez une fenêtre de commande PowerShell et remplacez le nom de votre exécutable par YourFileName :

"YourFileName.exe" -match "[\\\?\*\|<>/:]+"

La valeur True indique que la chaîne contient des caractères non valides. Voici quelques exemples de valeurs illégales :

  • \\server\share\program.exe

  • Program*.exe

  • Pro?ram.exe

  • Program<1>.exe

Remarque

Le générateur UE-V encode les caractères supérieurs à et inférieurs à en tant que &gt; et &lt; respectivement.

Dans de rares cas, la valeur FileName n’inclut pas nécessairement l’extension .exe, mais elle doit être spécifiée dans le cadre de la valeur. Par exemple, <Filename>MyApplictication.exe</Filename> doit être spécifié au lieu de <Filename>MyApplictication</Filename>. Le deuxième exemple n’applique pas le modèle au processus si le nom réel du fichier exécutable est MyApplication.exe.

Architecture

Obligatoire : False

Type : Architecture (String)

Architecture fait référence à l’architecture du processeur pour laquelle l’exécutable cible a été compilé. Les valeurs valides sont Win32 pour les applications 32 bits ou Win64 pour les applications 64 bits. Le cas échéant, cette balise limite l’applicabilité du modèle d’emplacement des paramètres à une architecture d’application particulière. Par exemple, comparez les %ProgramFiles%\Microsoft User Experience Virtualization\templates\MicrosoftOffice2010Win32.1SP1.xml fichiers et MicrosoftOffice2010Win64.xml inclus avec UE-V. Cela est utile lorsque les chemins d’accès relatifs changent entre différentes versions d’un exécutable ou si des paramètres sont ajoutés ou supprimés lors du passage d’une architecture de processeur à une autre.

Si cet élément est absent, le modèle d’emplacement des paramètres ignore l’architecture du processus et s’applique aux processus 32 bits et 64 bits si le nom de fichier et d’autres attributs s’appliquent.

Remarque

UE-V ne prend pas en charge les processeurs ARM dans cette version.

ProductName

Obligatoire : False

Type : Chaîne

ProductName est un élément facultatif utilisé pour identifier un produit à des fins administratives ou de création de rapports. ProductName diffère de Filename en ce qu’il n’existe aucune restriction d’expression régulière sur sa valeur. Cela permet d’obtenir des descriptions plus faciles à comprendre d’un processus dans lequel le nom de l’exécutable n’est pas évident. Par exemple :

<Process>
  <Filename>MyApplication.exe</Filename>
  <ProductName>My Application 6.x by Contoso.com</ProductName>
  <ProductVersion>
    <Major Minimum="6" Maximum="6" />
  </ProductVersion>
</Process>

FileDescription

Obligatoire : False

Type : Chaîne

FileDescription est une balise facultative qui permet une description administrative du fichier exécutable. Il s’agit d’un champ de texte libre qui peut être utile pour distinguer plusieurs exécutables dans un package logiciel où il est nécessaire d’identifier la fonction de l’exécutable.

Par exemple, dans une application adaptée, il peut être utile de fournir des rappels sur la fonction de deux exécutables (MyApplication.exe et MyApplicationHelper.exe), comme illustré ici :

<Processes>
  <Process>
    <Filename>MyApplication.exe</Filename>
    <FileDescription>My Application Main Engine</ FileDescription>
    <ProductVersion>
      <Major Minimum="6" Maximum="6" />
    </ProductVersion>
  </Process>
  <Process>
    <Filename>MyApplicationHelper.exe</Filename>
    <FileDescription>My Application Background Process Executable</FileDescription>
    <ProductVersion>
      <Major Minimum="6" Maximum="6" />
    </ProductVersion>
  </Process>
</Processes>

Productversion

Obligatoire : False

Type : Chaîne

ProductVersion fait référence aux versions de produit principales et mineures d’un fichier, ainsi qu’à un niveau de build et de correctif. ProductVersion est un élément facultatif, mais s’il est spécifié, il doit contenir au moins l’élément enfant Major. La valeur doit exprimer une plage sous la forme Minimum="X » Maximum="Y » où X et Y sont des entiers. Les valeurs Minimum et Maximum peuvent être identiques.

Les éléments de version de produit et de fichier ne peuvent pas être spécifiés. Cela rend la version du modèle indépendante, ce qui signifie que le modèle s’applique à toutes les versions de l’exécutable spécifié.

Exemple 1 : Version de produit 1.0

Version de produit : 1.0 spécifiée dans le générateur UE-V produit le code XML suivant :

<ProductVersion>
  <Major Minimum="1" Maximum="1" />
  <Minor Minimum="0" Maximum="0" />
</ProductVersion>

Exemple 2 : version de produit 5.0.2.1000

La version du fichier : 5.0.2.1000 spécifiée dans le générateur UE-V génère le code XML suivant :

<FileVersion>
  <Major Minimum="5" Maximum="5" />
  <Minor Minimum="0" Maximum="0" />
  <Build Minimum="2" Maximum="2" />
  <Patch Minimum="1000" Maximum="1000" />
</FileVersion>

Exemple 1 incorrect - Plage incomplète

Seul l’attribut Minimum est présent. La valeur maximale doit également être incluse dans une plage.

<ProductVersion>
  <Major Minimum="2" />
</ProductVersion>

Exemple incorrect 2 - Mineur spécifié sans élément Major

Seul l’élément Minor est présent. Les majors doivent également être incluses.

<ProductVersion>
  <Minor Minimum="0" Maximum="0" />
</ProductVersion>

FileVersion

Obligatoire : False

Type : Chaîne

FileVersion fait la distinction entre la version de mise en production d’une application publiée et les détails de build internes d’un exécutable de composant. Pour la plupart des applications commerciales, ces numéros sont identiques. Lorsqu’elles varient, la version produit d’un fichier indique une identification de version générique d’un fichier, tandis que la version du fichier indique une build spécifique d’un fichier (comme dans un correctif logiciel ou une mise à jour). Cela identifie de manière unique les fichiers sans rupture de logique de détection.

Pour déterminer la version du produit et la version d’un fichier exécutable particulier, cliquez avec le bouton droit sur le fichier dans l’Explorateur Windows, sélectionnez Propriétés, puis sélectionnez l’onglet Détails.

L’inclusion d’un élément FileVersion pour une application permet d’optimiser la logique de détection plus précise, mais n’est pas nécessaire pour la plupart des applications. Les paramètres de l’élément ProductVersion sont d’abord vérifiés, puis FileVersion est activé. Le paramètre plus restrictif s’applique.

Les éléments enfants et les règles de syntaxe pour FileVersion sont identiques à celles de ProductVersion.

<Process>
  <Filename>MSACCESS.EXE</Filename>
  <Architecture>Win32</Architecture>
  <ProductVersion>
    <Major Minimum="14" Maximum="14" />
    <Minor Minimum="0" Maximum="0" />
  </ProductVersion>
  <FileVersion>
    <Major Minimum="14" Maximum="14" />
    <Minor Minimum="0" Maximum="0" />
  </FileVersion>
</Process>

Élément d’application

L’application est un conteneur pour les paramètres qui s’appliquent à une application particulière. Il s’agit d’une collection des champs/types suivants.

Champ/Type Description
Name Spécifie un nom unique pour le modèle d’emplacement des paramètres. Il est utilisé à des fins d’affichage lors du référencement du modèle dans les journaux WMI, PowerShell, Observateur d’événements et de débogage. Pour plus d’informations, consultez Nom.
ID Remplit un identificateur unique pour un modèle particulier. Cette balise devient l’identificateur principal que l’agent UE-V utilise pour référencer le modèle au moment de l’exécution. Pour plus d’informations, consultez ID.
Description Description facultative du modèle.
LocalizedNames Nom facultatif affiché dans l’interface utilisateur, localisé par des paramètres régionaux de langue.
LocalizedDescriptions Description de modèle facultative localisée par des paramètres régionaux de langue.
Version Identifie la version du modèle d’emplacement des paramètres pour le suivi administratif des modifications. Pour plus d’informations, consultez Version.
DeferToMSAccount Contrôle si ce modèle est activé avec un compte Microsoft ou non. Si la synchronisation MSA est activée pour un utilisateur sur un ordinateur, ce modèle est automatiquement désactivé.
DeferToOffice365 À l’instar de MSA, cela contrôle si ce modèle est activé avec Office365. Si Office 365 est utilisé pour synchroniser les paramètres, ce modèle est automatiquement désactivé.
FixedProfile Spécifie que ce modèle peut uniquement être associé au profil spécifié dans cet élément et ne peut pas être modifié via WMI ou PowerShell.
Processus Conteneur pour une collection d’un ou plusieurs éléments Process. Pour plus d’informations, consultez Processus.
Paramètres Conteneur pour tous les paramètres qui s’appliquent à un modèle particulier. Il contient des instances des paramètres Registry, File, SystemParameter et CustomAction. Pour plus d’informations, consultez Paramètres dans typesde données.

Élément commun

Common est similaire à un élément Application, mais il est toujours associé à au moins deux éléments Application. La section Common représente l’ensemble des paramètres partagés entre ces instances d’application. Il s’agit d’une collection des champs/types suivants.

Champ/Type Description
Name Spécifie un nom unique pour le modèle d’emplacement des paramètres. Il est utilisé à des fins d’affichage lors du référencement du modèle dans les journaux WMI, PowerShell, Observateur d’événements et de débogage. Pour plus d’informations, consultez Nom.
ID Remplit un identificateur unique pour un modèle particulier. Cette balise devient l’identificateur principal que l’agent UE-V utilise pour référencer le modèle au moment de l’exécution. Pour plus d’informations, consultez ID.
Description Description facultative du modèle.
LocalizedNames Nom facultatif affiché dans l’interface utilisateur, localisé par des paramètres régionaux de langue.
LocalizedDescriptions Description de modèle facultative localisée par des paramètres régionaux de langue.
Version Identifie la version du modèle d’emplacement des paramètres pour le suivi administratif des modifications. Pour plus d’informations, consultez Version.
DeferToMSAccount Contrôle si ce modèle est activé avec un compte Microsoft ou non. Si la synchronisation MSA est activée pour un utilisateur sur un ordinateur, ce modèle est automatiquement désactivé.
DeferToOffice365 À l’instar de MSA, cela contrôle si ce modèle est activé avec Office365. Si Office 365 est utilisé pour synchroniser les paramètres, ce modèle est automatiquement désactivé.
FixedProfile Spécifie que ce modèle peut uniquement être associé au profil spécifié dans cet élément et ne peut pas être modifié via WMI ou PowerShell.
Paramètres Conteneur pour tous les paramètres qui s’appliquent à un modèle particulier. Il contient des instances des paramètres Registry, File, SystemParameter et CustomAction. Pour plus d’informations, consultez Paramètres dans typesde données.

Élément SettingsLocationTemplate

Cet élément définit les paramètres d’une application unique ou d’une suite d’applications.

Champ/Type Description
Name Spécifie un nom unique pour le modèle d’emplacement des paramètres. Il est utilisé à des fins d’affichage lors du référencement du modèle dans les journaux WMI, PowerShell, Observateur d’événements et de débogage. Pour plus d’informations, consultez Nom.
ID Remplit un identificateur unique pour un modèle particulier. Cette balise devient l’identificateur principal que l’agent UE-V utilise pour référencer le modèle au moment de l’exécution. Pour plus d’informations, consultez ID.
Description Description facultative du modèle.
LocalizedNames Nom facultatif affiché dans l’interface utilisateur, localisé par des paramètres régionaux de langue.
LocalizedDescriptions Description de modèle facultative localisée par des paramètres régionaux de langue.

Annexe : SettingsLocationTemplate.xsd

Voici le fichier SettingsLocationTemplate.xsd montrant ses éléments, éléments enfants, attributs et paramètres :

<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="UevSettingsLocationTemplate"
  targetNamespace="https://schemas.microsoft.com/UserExperienceVirtualization/2013A/SettingsLocationTemplate"
  elementFormDefault="qualified"
  xmlns="https://schemas.microsoft.com/UserExperienceVirtualization/2013A/SettingsLocationTemplate"
  xmlns:mstns="https://schemas.microsoft.com/UserExperienceVirtualization/2013A/SettingsLocationTemplate"
  xmlns:xs="http://www.w3.org/2001/XMLSchema">

    <xs:simpleType name="Guid">
        <xs:restriction base="xs:string">
            <xs:pattern value="\{[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}\}" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="FilenameString">
        <xs:restriction base="xs:string">
            <xs:pattern value="[^\\\?\*\|&lt;&gt;/:]+" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="IDString">
        <xs:restriction base="xs:string">
            <xs:pattern value="[^\\\?\*\|&lt;&gt;/:.]+" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="CompositeIDString">
        <xs:restriction base="xs:string">
            <xs:pattern value="[^\\\?\*\|&lt;&gt;/:.]+([.][^\\\?\*\|&lt;&gt;/:.]+)?" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="TemplateVersion">
        <xs:restriction base="xs:integer">
            <xs:minInclusive value="0" />
            <xs:maxInclusive value="2147483647" />
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="Empty">
        <xs:sequence/>
    </xs:complexType>

    <xs:complexType name="LocalizedString">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="Locale" type="xs:string" use="required"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <xs:complexType name="LocalizedName">
        <xs:sequence>
            <xs:element name="Name" type="LocalizedString" minOccurs="1" maxOccurs="unbounded" />
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="LocalizedDescription">
        <xs:sequence>
            <xs:element name="Description" type="LocalizedString" minOccurs="1" maxOccurs="unbounded" />
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="ReplacedTemplates">
      <xs:sequence>
        <xs:element name="ID" type="CompositeIDString" minOccurs="1" maxOccurs="unbounded" />
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Author">
        <xs:all>
            <xs:element name="Name" type="xs:string" minOccurs="1" />
            <xs:element name="Email" type="xs:string" minOccurs="0" />
        </xs:all>
    </xs:complexType>

    <xs:complexType name="Range">
        <xs:attribute name="Minimum" type="xs:integer" use="required"/>
        <xs:attribute name="Maximum" type="xs:integer" use="required"/>
    </xs:complexType>

    <xs:complexType name="ProcessVersion">
        <xs:sequence>
            <xs:element name="Major" type="Range" minOccurs="1" />
            <xs:element name="Minor" type="Range" minOccurs="0" />
            <xs:element name="Build" type="Range" minOccurs="0" />
            <xs:element name="Patch" type="Range" minOccurs="0" />
        </xs:sequence>
    </xs:complexType>

    <xs:simpleType name="Architecture">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Win32"/>
            <xs:enumeration value="Win64"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="Process">
        <xs:sequence>
            <xs:element name="Filename" type="FilenameString" minOccurs="1" />
            <xs:element name="Architecture" type="Architecture" minOccurs="0" />
            <xs:element name="ProductName" type="xs:string" minOccurs="0" />
            <xs:element name="FileDescription" type="xs:string" minOccurs="0" />
            <xs:element name="ProductVersion" type="ProcessVersion" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element name="FileVersion" type="ProcessVersion" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Processes">
        <xs:sequence>
            <xs:choice minOccurs="1">
                <xs:element name="Process" type="Process" />
                <xs:element name="ShellProcess" type="Empty" />
            </xs:choice>
            <xs:element name="Process" type="Process" minOccurs="0" maxOccurs="unbounded" />
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Path">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="Recursive" type="xs:boolean" default="false"/>
                <xs:attribute name="DeleteIfNotFound" type="xs:boolean" default="false"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <xs:complexType name="RegistrySetting">
        <xs:sequence>
            <xs:element name="Path" type="Path" />
            <xs:element name="Name" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="Exclude" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="Path" type="Path" minOccurs="0" />
                        <xs:element name="Name" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="FileSetting">
        <xs:sequence>

            <xs:element name="Root">
                <xs:complexType>
                    <xs:choice>
                        <xs:element name="KnownFolder" type="Guid" />
                        <xs:element name="RegistryEntry" type="xs:string" />
                        <xs:element name="EnvironmentVariable" type="xs:string" />
                    </xs:choice>
                </xs:complexType>
            </xs:element>

            <xs:element name="Path" minOccurs="0" type="Path" />
            <xs:element name="FileMask" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>

            <xs:element name="Exclude" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="Path" type="Path" minOccurs="0" />
                        <xs:element name="FileMask" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>

        </xs:sequence>
    </xs:complexType>

    <xs:simpleType name="CustomActionSetting">
        <xs:restriction base="xs:anyURI"/>
    </xs:simpleType>

    <xs:simpleType name="SystemParameterSetting">
        <xs:restriction base="xs:string">

            <!-- Accessibility parameters -->
            <xs:enumeration value="AccessTimeout"/>
            <xs:enumeration value="AudioDescription"/>
            <xs:enumeration value="ClientAreaAnimation"/>
            <xs:enumeration value="DisableOverlappedContent"/>
            <xs:enumeration value="FilterKeys"/>
            <xs:enumeration value="FocusBorderHeight"/>
            <xs:enumeration value="FocusBorderWidth"/>
            <xs:enumeration value="HighContrast"/>
            <xs:enumeration value="MessageDuration"/>
            <xs:enumeration value="MouseClickLock"/>
            <xs:enumeration value="MouseClickLockTime"/>
            <xs:enumeration value="MouseKeys"/>
            <xs:enumeration value="MouseSonar"/>
            <xs:enumeration value="MouseVanish"/>
            <xs:enumeration value="ScreenReader"/>
            <xs:enumeration value="ShowSounds"/>
            <xs:enumeration value="SoundSentry"/>
            <xs:enumeration value="StickyKeys"/>
            <xs:enumeration value="ToggleKeys"/>

            <!-- Input parameters -->
            <xs:enumeration value="Beep"/>
            <xs:enumeration value="BlockSendInputResets"/>
            <xs:enumeration value="DefaultInputLang"/>
            <xs:enumeration value="DoubleClickTime"/>
            <xs:enumeration value="DoubleClkHeight"/>
            <xs:enumeration value="DoubleClkWidth"/>
            <xs:enumeration value="KeyboardCues"/>
            <xs:enumeration value="KeyboardDelay"/>
            <xs:enumeration value="KeyboardPref"/>
            <xs:enumeration value="KeyboardSpeed"/>
            <xs:enumeration value="Mouse"/>
            <xs:enumeration value="MouseButtonSwap"/>
            <xs:enumeration value="MouseHoverHeight"/>
            <xs:enumeration value="MouseHoverTime"/>
            <xs:enumeration value="MouseHoverWidth"/>
            <xs:enumeration value="MouseSpeed"/>
            <xs:enumeration value="MouseTrails"/>
            <xs:enumeration value="SnapToDefButton"/>
            <xs:enumeration value="WheelScrollChars"/>
            <xs:enumeration value="WheelScrollLines"/>

            <!-- Desktop parameters (limited subset) -->
            <xs:enumeration value="DeskWallpaper"/>
            <xs:enumeration value="DesktopColor"/>

        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="Settings">
        <xs:sequence>
            <xs:element name="Asynchronous" type="xs:boolean" minOccurs="0" />
            <xs:element name="PreventOverlappingSynchronization" type="xs:boolean" minOccurs="0" />
            <xs:element name="AlwaysApplySettings" type="xs:boolean" minOccurs="0" />
            <xs:choice minOccurs="0" maxOccurs="unbounded">
                <xs:element name="Registry" type="RegistrySetting" />
                <xs:element name="File" type="FileSetting" />
                <xs:element name="SystemParameter" type="SystemParameterSetting" />
                <xs:element name="CustomAction" type="CustomActionSetting" />
            </xs:choice>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Common">
        <xs:sequence>
            <xs:element name="Name" type="xs:string" />
            <xs:element name="ID" type="IDString" />
            <xs:element name="ReplacedTemplates" type="ReplacedTemplates" minOccurs="0" />
            <xs:element name="Description" type="xs:string" minOccurs="0" />
            <xs:element name="LocalizedNames" type="LocalizedName" minOccurs="0" />
            <xs:element name="LocalizedDescriptions" type="LocalizedDescription" minOccurs="0" />
            <xs:element name="Version" type="xs:integer" />
            <xs:element name="DeferToMSAccount" type="Empty"  minOccurs="0" />
            <xs:element name="DeferToOffice365" type="Empty" minOccurs="0" />
            <xs:element name="Settings" type="Settings" />
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Application">
        <xs:sequence>
            <xs:element name="Name" type="xs:string" />
            <xs:element name="ID" type="IDString" />
            <xs:element name="ReplacedTemplates" type="ReplacedTemplates" minOccurs="0" />
            <xs:element name="Description" type="xs:string" minOccurs="0" />
            <xs:element name="LocalizedNames" type="LocalizedName" minOccurs="0" />
            <xs:element name="LocalizedDescriptions" type="LocalizedDescription" minOccurs="0" />
            <xs:element name="Version" type="xs:integer" />
            <xs:element name="DeferToMSAccount" type="Empty"  minOccurs="0" />
            <xs:element name="DeferToOffice365" type="Empty" minOccurs="0" />
            <xs:element name="Processes" type="Processes" />
            <xs:element name="Settings" type="Settings" />
        </xs:sequence>
    </xs:complexType>


    <xs:element name="SettingsLocationTemplate">
        <xs:complexType>
            <xs:sequence>

                <xs:element name="Name" type="xs:string" />
                <xs:element name="ID" type="IDString" />
                <xs:element name="Description" type="xs:string" minOccurs="0" />
                <xs:element name="LocalizedNames" type="LocalizedName" minOccurs="0" />
                <xs:element name="LocalizedDescriptions" type="LocalizedDescription" minOccurs="0" />

                <xs:choice>

                    <!-- Single application -->
                    <xs:sequence>
                        <xs:element name="ReplacedTemplates" type="ReplacedTemplates" minOccurs="0" />
                        <xs:element name="Version" type="TemplateVersion" />
                        <xs:element name="Author" type="Author" minOccurs="0" />
                        <xs:element name="FixedProfile" type="xs:string"  minOccurs="0" />
                        <xs:element name="DeferToMSAccount" type="Empty"  minOccurs="0" />
                        <xs:element name="DeferToOffice365" type="Empty" minOccurs="0" />
                        <xs:element name="Processes" type="Processes" />
                        <xs:element name="Settings" type="Settings" />
                    </xs:sequence>

                    <!-- Suite of applications -->
                    <xs:sequence>
                        <xs:element name="ManageSuiteOnly" type="xs:boolean" minOccurs="0" />
                        <xs:element name="Author" type="Author" minOccurs="0" />
                        <xs:element name="FixedProfile" type="xs:string"  minOccurs="0" />
                        <xs:element name="Common" type="Common" />
                        <xs:element name="Application" type="Application" minOccurs="2" maxOccurs="unbounded" />
                    </xs:sequence>

                </xs:choice>

            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <!-- SettingsLocationTemplate -->

</xs:schema>

Utilisation de modèles UE-V 2.1 SP1 personnalisés et du générateur UE-V 2.1 SP1

Référence technique pour UE-V 2.1 SP1