Partager via


Référence de schéma de modèle d'application pour UE-V 2.x

Mis à jour: août 2015

S'applique à: User Experience Virtualization 1.0, User Experience Virtualization 1.0 SP1, User Experience Virtualization 2.0, User Experience Virtualization 2.1

Microsoft User Experience Virtualization (UE-V) 2.0, 2.1 et 2.1 SP1 utilisent des modèles d'emplacement des paramètres XML pour définir les paramètres des applications de bureau et Windows qui sont capturés et appliqués par UE-V. UE-V inclut un ensemble de modèles d'emplacement des paramètres par défaut. Vous pouvez aussi créer des modèles d'emplacement des paramètres personnalisés avec UE-V Generator.

Un utilisateur expérimenté peut personnaliser le fichier XML d'un modèle d'emplacement des paramètres. Cette rubrique décrit en détail la structure XML des modèles d'emplacement des paramètres UE-V 2.1 (SP1) et 2.0 et fournit des conseils pour modifier ces fichiers.

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

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

Dans cette section

  • Déclaration XML et attribut d'encodage

  • Espace de noms et élément racine

  • Types de données

  • Élément Name

  • Élément ID

  • Élément Version

  • Élément Author

  • Processes et élément Process

  • Élément Application

  • Élément Common

  • Élément SettingsLocationTemplate

  • Annexe : SettingsLocationTemplate.xsd

Déclaration XML et attribut d'encodage

Obligatoire : True

Type : Chaîne

La déclaration XML doit spécifier l'attribut de version 1.0 XML (<?xml version="1.0">). Les modèles d'emplacement des paramètres créés par UE-V Generator sont enregistrés en 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 en guise de meilleure pratique. Tous les modèles fournis avec le produit spécifient aussi cette balise (voir les documents dans %ProgramFiles%\Microsoft User Experience Virtualization\Templates). Par exemple :

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

Espace de noms et élément racine

Obligatoire : True

Type : Chaîne

UE-V utilise l'espace de noms https://schemas.microsoft.com/UserExperienceVirtualization/2012/SettingsLocationTemplate pour toutes les applications. SettingsLocationTemplate est l'élément racine. Il contient tous les autres éléments. Faites 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

Voici les types de données pour le schéma de modèle d'application UE-V.

  • GUID
    GUID décrit une expression régulière d'identificateur global unique 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}\} ». Il 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. Ses valeurs sont limitées par l'expression régulière [^\\\?\*\|<>/:]+ (autrement dit, elles ne peuvent pas contenir de barre oblique inverse, d'astérisque ou de point d'interrogation utilisé comme caractère générique, de barre verticale, de signe supérieur à ou inférieur à, de barre oblique ou de signe deux-points).
  • IDString
    IDString fait référence à la valeur d'ID des éléments Application, SettingsLocationTemplate et Common (utilisés pour décrire des suites d'applications qui partagent des paramètres communs). Il est limité par la même expression régulière que FilenameString ([^\\\?\*\|<>/:]+).
  • TemplateVersion
    TemplateVersion est une valeur entière qui sert à décrire la révision du modèle d'emplacement des paramètres. Sa valeur peut être comprise entre 0 et 2147483647.
  • Empty
    Empty fait référence à une valeur null. Cette valeur est utilisée dans Process\ShellProcess pour indiquer qu'il n'y a aucun processus à surveiller. Elle ne doit pas être utilisée dans les modèles d'application.
  • Author
    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 alors 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 d'entiers 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. S'il est spécifié, les valeurs Minimum et Maximum doivent toutes deux ê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 renseigner 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
    Architecture énumère deux valeurs possibles : Win32 et Win64. Ces valeurs sont utilisées pour spécifier l'architecture du processus.
  • Process
    Le type de données Process est un conteneur qui sert à décrire les processus devant être surveillés par UE-V. Il contient six éléments enfants : Filename, Architecture, ProductName, FileDescription, ProductVersion et FileVersion. Le tableau ci-dessous décrit le type de données respectif de chaque élément :

    Élément

    Type de données

    Obligatoire

    Filename

    FilenameString

    True

    Architecture

    Architecture

    False

    ProductName

    Chaîne

    False

    FileDescription

    Chaîne

    False

    ProductVersion

    ProcessVersion

    False

    FileVersion

    ProcessVersion

    False

  • Processes
    Le type de données Processes 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 Processes : 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.
  • Path
    Path est utilisé par RegistrySetting et FileSetting pour faire référence aux chemins d'accès de fichiers et de Registre. Cet élément prend en charge deux attributs facultatifs : Recursive et DeleteIfNotFound. Les deux valeurs sont définies sur default="False".

    Recursive indique que le chemin d'accès et tous les sous-dossiers sont inclus pour les paramètres de fichiers ou que toutes les clés de Registre enfants sont incluses pour les paramètres de 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 dans le 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 de Registre, toutes les valeurs dans le chemin d'accès actuel sont capturées, mais les clés de Registre enfants ne sont pas capturées. Dans les deux cas, veillez à éviter de capturer de grands jeux de données ou un grand nombre d'éléments.

    L'attribut DeleteIfNotFound supprime le paramètre des données de chemin d'accès de stockage des paramètres utilisateur. Cela peut être souhaitable 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 d'accès de stockage des paramètres.

  • FileMask
    FileMask spécifie uniquement certains types de fichiers pour le dossier qui est défini par Path. Par exemple, Path peut être C:\users\username\files et FileMask peut être *.txt pour inclure uniquement les fichiers texte.
  • RegistrySetting
    RegistrySetting représente un conteneur pour les valeurs et clés de Registre et le comportement souhaité associé de la part de l'Agent UE-V. Quatre éléments enfants sont définis au sein de ce type : Path, Name, Exclude et une séquence de valeurs Path et Name.
  • FileSetting
    FileSetting contient des paramètres associés à des fichiers et des chemins d'accès de fichiers. Quatre éléments enfants sont définis : Root, Path, FileMask et Exclude. Root est obligatoire et les autres éléments sont facultatifs.
  • Settings
    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. Il peut également contenir les éléments enfants suivants avec les comportements décrits :

    Élément

    Description 

    Asynchronous

    Les packages de paramètres asynchrones sont appliqués sans bloquer le démarrage de l'application, pour que le démarrage de l'application s'exécute tandis que les paramètres sont encore en cours d'application. Cela est utile pour les paramètres qui peuvent être appliqués de façon asynchrone, tels que ceux qui sont get/set via une API, comme SystemParameterSetting.

    PreventOverlappingSynchronization

    Par défaut, UE-V enregistre uniquement les paramètres d'une application quand la dernière instance d'une application utilisant le modèle est fermée. Quand 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 d'élément Common) qui sont livrés avec UE-V utilisent cet indicateur pour permettre de toujours exporter les paramètres partagés lors de la fermeture d'application, tout en empêchant l'exportation des paramètres spécifiques à l'application jusqu'à la fermeture de la dernière instance.

    AlwaysApplySettings

    (introduit dans la version 2.1)

    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é pour l'affichage lors du référencement du modèle dans les journaux de débogage, WMI, PowerShell et l'Observateur d'événements. En général, vous devez éviter de faire référence aux informations de version, car cela peut générer un conflit avec l'élément ProductVersion. Par exemple, spécifiez <Name>My Application</Name> plutôt que <Name>My Application 1.1</Name>.

Notes

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

Pour obtenir une liste complète des entités de caractères, consultez http://www.w3.org/TR/xhtml1/dtds.html. Les documents encodés en UTF-8 peuvent inclure les caractères Unicode directement. L'enregistrement de modèles via UE-V Generator convertit automatiquement les entités de caractères en leurs représentations Unicode.

Élément ID

Obligatoire : True

Type : Chaîne

ID renseigne un identificateur unique pour un modèle particulier. Cette balise devient l'identificateur principal utilisé par l'Agent UE-V pour faire référence au modèle au moment de l'exécution (voir par exemple la sortie des applets de commande PowerShell Get-UevTemplate et Get-UevTemplateProgram). Par convention, cette balise ne doit pas contenir d'espace, ce qui simplifie l'écriture des scripts. Les numéros de version des applications doivent être spécifiés dans cet élément pour faciliter l'identification du modèle, par exemple <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. UE-V Generator incrémente automatiquement ce numéro d'une unité chaque fois que le modèle est enregistré. Notez que ce champ doit être un nombre entier. Les valeurs fractionnaires, telles que <Version>2.5</Version>, ne sont pas autorisées.

Conseil : vous pouvez enregistrer des commentaires sur les modifications de version à l'aide de balises de commentaires 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 les cas suivants :

  • lors de l'exécution de la tâche planifiée de mise à jour automatique de modèle ;

  • lors de l'exécution de l'applet de commande PowerShell Update-UevTemplate ;

  • lorsque la méthode de mise à jour microsoft\uev:SettingsLocationTemplate est appelée via WMI.

Élément Author

Obligatoire : False

Type : Chaîne

Author identifie le créateur du modèle d'emplacement des paramètres. Deux éléments enfants facultatifs sont pris en charge : Name et Email. Ces 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 Email doit correspondre à l'adresse de messagerie de l'auteur. Nous vous recommandons d'inclure ces informations dans les modèles publiés publiquement, par exemple dans la Galerie de modèles UE-V.

Processes et élément Process

Obligatoire : True

Type : Élément

Processes contient au moins un élément <Process>, qui lui-même 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 renseigné contient des balises semblables à l'exemple suivant :

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

Filename

Obligatoire : True

Type : Chaîne

FileName fait référence au nom de fichier réel du fichier exécutable tel qu'il apparaît dans le système de fichiers. Cet élément spécifie le principal critère utilisé par UE-V pour déterminer si un modèle s'applique à un processus ou non. Vous devez spécifier cet élément dans le fichier XML de modèle d'emplacement des paramètres.

Les noms de fichiers valides ne doivent pas correspondre à l'expression régulière [^\\\?\*\|<>/:]+. Autrement dit, ils ne doivent pas contenir de barre oblique inverse, d'astérisque ou de point d'interrogation utilisé comme caractère générique, de barre verticale, de signe supérieur à ou inférieur à, de barre oblique ou de signe deux-points (caractères \ ? * | < > / et :).

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

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

La valeur True indique que la chaîne contient des caractères non autorisés. Voici quelques exemples de valeurs non conformes :

  • \\server\share\program.exe

  • Program*.exe

  • Pro?ram.exe

  • Program<1>.exe

Notes

UE-V Generator encode les caractères « supérieur à » et « inférieur à » respectivement comme &gt; et &lt;.

Dans de rares cas, la valeur FileName n'inclura 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é à la place de <Filename>MyApplictication</Filename>. Le deuxième exemple n'appliquera pas le modèle au processus si le nom réel du fichier exécutable est « MyApplication.exe ».

Architecture

Obligatoire : False

Type : Architecture (Chaîne)

Architecture fait référence à l'architecture de 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. Si elle est présente, cette balise limite la mise en application du modèle d'emplacement des paramètres à une architecture d'application particulière. Pour obtenir un exemple, comparez les fichiers %ProgramFiles%\Microsoft User Experience Virtualization\templates\ MicrosoftOffice2010Win32.xml et MicrosoftOffice2010Win64.xml fournis avec UE-V. Cela est utile quand les chemins d'accès relatifs changent entre différentes versions d'un fichier exécutable ou si des paramètres ont été ajoutés ou supprimés lors du basculement 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 et 64 bits si le nom de fichier et d'autres attributs s'appliquent.

Notes

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 qui sert à identifier un produit à des fins administratives ou de création de rapports. ProductName diffère de Filename car aucune restriction d'expression régulière ne s'applique à sa valeur. Cela facilite la compréhension des descriptions d'un processus quand le nom 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 fournit 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 au sein d'un package logiciel lorsqu'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 fichiers 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 majeure et mineure 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 au format 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 peuvent ne pas être spécifiés. Dans ce cas, le modèle est « indépendant de la version », ce qui signifie qu'il s'applique à toutes les versions de l'exécutable spécifié.

Exemple 1 :

La version de produit 1.0 spécifiée dans UE-V Generator produit le code XML suivant :

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

Exemple 2 :

La version de fichier 5.0.2.1000 spécifiée dans UE-V Generator produit 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 incorrect 1 – plage incomplète :

Seul l'attribut Minimum est présent. Maximum doit aussi être inclus dans une plage.

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

Exemple incorrect 2 – Minor spécifié sans élément Major :

Seul l'élément Minor est présent. Major doit aussi être spécifié.

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

FileVersion

Obligatoire : False

Type : Chaîne

FileVersion fait la distinction entre la version finale d'une application publiée et les détails de build interne d'un composant exécutable. Pour la plupart des applications commerciales, ces numéros sont identiques. Lorsqu'ils varient, la version de produit d'un fichier indique une identification de version générique d'un fichier, tandis que la version de fichier indique une build spécifique d'un fichier (comme dans le cas d'un correctif ou d'une mise à jour). Cela permet d'identifier les fichiers de manière unique sans rompre la logique de détection.

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

Le fait d'inclure un élément FileVersion pour une application permet de disposer d'une logique de détection plus précise, mais cela n'est pas nécessaire pour la plupart des applications. Les paramètres de l'élément ProductVersion sont vérifiés en premier, puis FileVersion est vérifié. Le paramètre le plus restrictif s'applique.

Les éléments enfants et les règles de syntaxe de FileVersion sont identiques à ceux 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 Application

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é pour l'affichage lors du référencement du modèle dans les journaux de débogage, WMI, PowerShell et l'Observateur d'événements. Pour plus d'informations, consultez Élément Name.

ID

Renseigne un identificateur unique pour un modèle particulier. Cette balise devient l'identificateur principal utilisé par l'Agent UE-V pour faire référence au modèle au moment de l'exécution. Pour plus d'informations, consultez Élément 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 Élément Version.

DeferToMSAccount

Détermine si ce modèle est activé conjointement avec un compte Microsoft ou non. Si la synchronisation MSA est activée pour un utilisateur sur un ordinateur, ce modèle est désactivé automatiquement.

DeferToOffice365

Comme pour MSA, ce paramètre détermine si ce modèle est activé conjointement avec Office 365. Si Office 365 est utilisé pour synchroniser les paramètres, ce modèle est désactivé automatiquement.

FixedProfile (introduit dans la version 2.1)

Indique que ce modèle peut être associé uniquement avec le profil spécifié dans cet élément et qu'il ne peut pas être modifié via WMI ou PowerShell.

Processes

Conteneur pour une collection d'un ou plusieurs éléments Process. Pour plus d'informations, consultez Processes et élément Process.

Settings

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, voir Paramètres dans Types de données.

Élément Common

Common s'apparente à un élément Application, mais il est toujours associé à plusieurs éléments Application. La section Common représente l'ensemble des paramètres qui sont partagés par 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é pour l'affichage lors du référencement du modèle dans les journaux de débogage, WMI, PowerShell et l'Observateur d'événements. Pour plus d'informations, consultez Élément Name.

ID

Renseigne un identificateur unique pour un modèle particulier. Cette balise devient l'identificateur principal utilisé par l'Agent UE-V pour faire référence au modèle au moment de l'exécution. Pour plus d'informations, consultez Élément 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 Élément Version.

DeferToMSAccount

Détermine si ce modèle est activé conjointement avec un compte Microsoft ou non. Si la synchronisation MSA est activée pour un utilisateur sur un ordinateur, ce modèle est désactivé automatiquement.

DeferToOffice365

Comme pour MSA, ce paramètre détermine si ce modèle est activé conjointement avec Office 365. Si Office 365 est utilisé pour synchroniser les paramètres, ce modèle est désactivé automatiquement.

FixedProfile (introduit dans la version 2.1)

Indique que ce modèle peut être associé uniquement avec le profil spécifié dans cet élément et qu'il ne peut pas être modifié via WMI ou PowerShell.

Settings

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, voir Paramètres dans Types de 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é pour l'affichage lors du référencement du modèle dans les journaux de débogage, WMI, PowerShell et l'Observateur d'événements. Pour plus d'informations, consultez Élément Name.

ID

Renseigne un identificateur unique pour un modèle particulier. Cette balise devient l'identificateur principal utilisé par l'Agent UE-V pour faire référence au modèle au moment de l'exécution. Pour plus d'informations, consultez Élément 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 avec 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>

Référence du schéma de modèle d'application UE-V 2.0

Cette section décrit en détail la structure XML du modèle d'emplacement des paramètres UE-V 2.0 et fournit des conseils sur la modification de ce fichier.

Dans cette section

  • Déclaration XML et attribut d'encodage

  • Espace de noms et élément racine

  • Types de données

  • Élément Name

  • Élément ID

  • Élément Version

  • Élément Author

  • Processes et élément Process

  • Élément Application

  • Élément Common

  • Élément SettingsLocationTemplate

  • Annexe : SettingsLocationTemplate.xsd

Déclaration XML et attribut d'encodage

Obligatoire : True

Type : Chaîne

La déclaration XML doit spécifier l'attribut de version 1.0 XML (<?xml version="1.0">). Les modèles d'emplacement des paramètres créés par UE-V Generator sont enregistrés en 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 en guise de meilleure pratique. Tous les modèles fournis avec le produit spécifient aussi cette balise (voir les documents dans %ProgramFiles%\Microsoft User Experience Virtualization\Templates). Par exemple :

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

Espace de noms et élément racine

Obligatoire : True

Type : Chaîne

UE-V utilise l'espace de noms https://schemas.microsoft.com/UserExperienceVirtualization/2012/SettingsLocationTemplate pour toutes les applications. SettingsLocationTemplate est l'élément racine. Il contient tous les autres éléments. Faites 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

Voici les types de données pour le schéma de modèle d'application UE-V.

  • GUID
    GUID décrit une expression régulière d'identificateur global unique 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}\} ». Il 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. Ses valeurs sont limitées par l'expression régulière [^\\\?\*\|<>/:]+ (autrement dit, elles ne peuvent pas contenir de barre oblique inverse, d'astérisque ou de point d'interrogation utilisé comme caractère générique, de barre verticale, de signe supérieur à ou inférieur à, de barre oblique ou de signe deux-points).
  • IDString
    IDString fait référence à la valeur d'ID des éléments Application, SettingsLocationTemplate et Common (utilisés pour décrire des suites d'applications qui partagent des paramètres communs). Il est limité par la même expression régulière que FilenameString ([^\\\?\*\|<>/:]+).
  • TemplateVersion
    TemplateVersion est une valeur entière qui sert à décrire la révision du modèle d'emplacement des paramètres. Sa valeur peut être comprise entre 0 et 2147483647.
  • Empty
    Empty fait référence à une valeur null. Cette valeur est utilisée dans Process\ShellProcess pour indiquer qu'il n'y a aucun processus à surveiller. Elle ne doit pas être utilisée dans les modèles d'application.
  • Author
    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 alors 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 d'entiers 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. S'il est spécifié, les valeurs Minimum et Maximum doivent toutes deux ê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 renseigner 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
    Architecture énumère deux valeurs possibles : Win32 et Win64. Ces valeurs sont utilisées pour spécifier l'architecture du processus.
  • Process
    Le type de données Process est un conteneur qui sert à décrire les processus devant être surveillés par UE-V. Il contient six éléments enfants : Filename, Architecture, ProductName, FileDescription, ProductVersion et FileVersion. Le tableau ci-dessous décrit le type de données respectif de chaque élément :

    Élément Type de données Obligatoire

    Filename

    FilenameString

    True

    Architecture

    Architecture

    False

    ProductName

    Chaîne

    False

    FileDescription

    Chaîne

    False

    ProductVersion

    ProcessVersion

    False

    FileVersion

    ProcessVersion

    False

  • Processes
    Le type de données Processes 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 Processes : 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 d’accès
    Path est utilisé par RegistrySetting et FileSetting pour faire référence aux chemins d'accès de fichiers et de Registre. Cet élément prend en charge deux attributs facultatifs : Recursive et DeleteIfNotFound. Les deux valeurs sont définies sur default=”False”.

    Recursive indique que le chemin d'accès et tous les sous-dossiers sont inclus pour les paramètres de fichiers ou que toutes les clés de Registre enfants sont incluses pour les paramètres de 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 dans le 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 de Registre, toutes les valeurs dans le chemin d'accès actuel sont capturées, mais les clés de Registre enfants ne sont pas capturées. Dans les deux cas, veillez à éviter de capturer de grands jeux de données ou un grand nombre d'éléments.

    L'attribut DeleteIfNotFound supprime le paramètre des données de chemin d'accès de stockage des paramètres utilisateur. Cela peut être souhaitable 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 d'accès de stockage des paramètres.

  • FileMask
    FileMask spécifie uniquement certains types de fichiers pour le dossier qui est défini par Path. Par exemple, Path peut être C:\users\username\files et FileMask peut être *.txt pour inclure uniquement les fichiers texte.
  • RegistrySetting
    RegistrySetting représente un conteneur pour les valeurs et clés de Registre et le comportement souhaité associé de la part de l'Agent UE-V. Quatre éléments enfants sont définis au sein de ce type : Path, Name, Exclude et une séquence de valeurs Path et Name.
  • FileSetting
    FileSetting contient des paramètres associés à des fichiers et des chemins d'accès de fichiers. Quatre éléments enfants sont définis : Root, Path, FileMask et Exclude. Root est obligatoire et les autres éléments sont facultatifs.
  • Settings
    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. Il peut également contenir les éléments enfants suivants avec les comportements décrits :

    Élément Description 

    Asynchronous

    Les packages de paramètres asynchrones sont appliqués sans bloquer le démarrage de l'application, pour que le démarrage de l'application s'exécute tandis que les paramètres sont encore en cours d'application. Cela est utile pour les paramètres qui peuvent être appliqués de façon asynchrone, tels que ceux qui sont get/set via une API, comme SystemParameterSetting.

    PreventOverlappingSynchronization

    Par défaut, UE-V enregistre uniquement les paramètres d'une application quand la dernière instance d'une application utilisant le modèle est fermée. Quand 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 d'élément Common) qui sont livrés avec UE-V utilisent cet indicateur pour permettre de toujours exporter les paramètres partagés lors de la fermeture d'application, tout en empêchant l'exportation des paramètres spécifiques à l'application jusqu'à la fermeture de la dernière instance.

É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é pour l'affichage lors du référencement du modèle dans les journaux de débogage, WMI, PowerShell et l'Observateur d'événements. En général, vous devez éviter de faire référence aux informations de version, car cela peut générer un conflit avec l'élément ProductVersion. Par exemple, spécifiez <Name>My Application</Name> plutôt que <Name>My Application 1.1</Name>.

Notes

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

Pour obtenir une liste complète des entités de caractères, consultez http://www.w3.org/TR/xhtml1/dtds.html. Les documents encodés en UTF-8 peuvent inclure les caractères Unicode directement. L'enregistrement de modèles via UE-V Generator convertit automatiquement les entités de caractères en leurs représentations Unicode.

Élément ID

Obligatoire : True

Type : Chaîne

ID renseigne un identificateur unique pour un modèle particulier. Cette balise devient l'identificateur principal utilisé par l'Agent UE-V pour faire référence au modèle au moment de l'exécution (voir par exemple la sortie des applets de commande PowerShell Get-UevTemplate et Get-UevTemplateProgram). Par convention, cette balise ne doit pas contenir d'espace, ce qui simplifie l'écriture des scripts. Les numéros de version des applications doivent être spécifiés dans cet élément pour faciliter l'identification du modèle, par exemple <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. UE-V Generator incrémente automatiquement ce numéro d'une unité chaque fois que le modèle est enregistré. Notez que ce champ doit être un nombre entier. Les valeurs fractionnaires, telles que <Version>2.5</Version>, ne sont pas autorisées.

Conseil : vous pouvez enregistrer des commentaires sur les modifications de version à l'aide de balises de commentaires 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 les cas suivants :

  • lors de l'exécution de la tâche planifiée de mise à jour automatique de modèle ;

  • lors de l'exécution de l'applet de commande PowerShell Update-UevTemplate ;

  • lorsque la méthode de mise à jour microsoft\uev:SettingsLocationTemplate est appelée via WMI.

Élément Author

Obligatoire : False

Type : Chaîne

Author identifie le créateur du modèle d'emplacement des paramètres. Deux éléments enfants facultatifs sont pris en charge : Name et Email. Ces 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 Email doit correspondre à l'adresse de messagerie de l'auteur. Nous vous recommandons d'inclure ces informations dans les modèles publiés publiquement, par exemple dans la Galerie de modèles UE-V.

Processes et élément Process

Obligatoire : True

Type : Élément

Processes contient au moins un élément <Process>, qui lui-même 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 renseigné contient des balises semblables à l'exemple suivant :

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

Filename

Obligatoire : True

Type : Chaîne

FileName fait référence au nom de fichier réel du fichier exécutable tel qu'il apparaît dans le système de fichiers. Cet élément spécifie le principal critère utilisé par UE-V pour déterminer si un modèle s'applique à un processus ou non. Vous devez spécifier cet élément dans le fichier XML de modèle d'emplacement des paramètres.

Les noms de fichiers valides ne doivent pas correspondre à l'expression régulière [^\\\?\*\|<>/:]+. Autrement dit, ils ne doivent pas contenir de barre oblique inverse, d'astérisque ou de point d'interrogation utilisé comme caractère générique, de barre verticale, de signe supérieur à ou inférieur à, de barre oblique ou de signe deux-points (caractères \ ? * | < > / et :).

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

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

La valeur True indique que la chaîne contient des caractères non autorisés. Voici quelques exemples de valeurs non conformes :

  • \\server\share\program.exe

  • Program*.exe

  • Pro?ram.exe

  • Program<1>.exe

Notes

UE-V Generator encode les caractères « supérieur à » et « inférieur à » respectivement comme &gt; et &lt;.

Dans de rares cas, la valeur FileName n'inclura 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é à la place de <Filename>MyApplictication</Filename>. Le deuxième exemple n'appliquera pas le modèle au processus si le nom réel du fichier exécutable est « MyApplication.exe ».

Architecture

Obligatoire : False

Type : Architecture (Chaîne)

Architecture fait référence à l'architecture de 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. Si elle est présente, cette balise limite la mise en application du modèle d'emplacement des paramètres à une architecture d'application particulière. Pour obtenir un exemple, comparez les fichiers %ProgramFiles%\Microsoft User Experience Virtualization\templates\ MicrosoftOffice2010Win32.xml et MicrosoftOffice2010Win64.xml fournis avec UE-V. Cela est utile quand les chemins d'accès relatifs changent entre différentes versions d'un fichier exécutable ou si des paramètres ont été ajoutés ou supprimés lors du basculement 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 et 64 bits si le nom de fichier et d'autres attributs s'appliquent.

Notes

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 qui sert à identifier un produit à des fins administratives ou de création de rapports. ProductName diffère de Filename car aucune restriction d'expression régulière ne s'applique à sa valeur. Cela facilite la compréhension des descriptions d'un processus quand le nom 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 fournit 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 au sein d'un package logiciel lorsqu'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 fichiers 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 majeure et mineure 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 au format 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 peuvent ne pas être spécifiés. Dans ce cas, le modèle est « indépendant de la version », ce qui signifie qu'il s'applique à toutes les versions de l'exécutable spécifié.

Exemple 1 :

La version de produit 1.0 spécifiée dans UE-V Generator produit le code XML suivant :

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

Exemple 2 :

La version de fichier 5.0.2.1000 spécifiée dans UE-V Generator produit 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 incorrect 1 – plage incomplète :

Seul l'attribut Minimum est présent. Maximum doit aussi être inclus dans une plage.

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

Exemple incorrect 2 – Minor spécifié sans élément Major :

Seul l'élément Minor est présent. Major doit aussi être spécifié.

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

FileVersion

Obligatoire : False

Type : Chaîne

FileVersion fait la distinction entre la version finale d'une application publiée et les détails de build interne d'un composant exécutable. Pour la plupart des applications commerciales, ces numéros sont identiques. Lorsqu'ils varient, la version de produit d'un fichier indique une identification de version générique d'un fichier, tandis que la version de fichier indique une build spécifique d'un fichier (comme dans le cas d'un correctif ou d'une mise à jour). Cela permet d'identifier les fichiers de manière unique sans rompre la logique de détection.

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

Le fait d'inclure un élément FileVersion pour une application permet de disposer d'une logique de détection plus précise, mais cela n'est pas nécessaire pour la plupart des applications. Les paramètres de l'élément ProductVersion sont vérifiés en premier, puis FileVersion est vérifié. Le paramètre le plus restrictif s'applique.

Les éléments enfants et les règles de syntaxe de FileVersion sont identiques à ceux 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 Application

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é pour l'affichage lors du référencement du modèle dans les journaux de débogage, WMI, PowerShell et l'Observateur d'événements. Pour plus d'informations, consultez Élément Name.

ID

Renseigne un identificateur unique pour un modèle particulier. Cette balise devient l'identificateur principal utilisé par l'Agent UE-V pour faire référence au modèle au moment de l'exécution. Pour plus d'informations, consultez Élément 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 Élément Version.

DeferToMSAccount

Détermine si ce modèle est activé conjointement avec un compte Microsoft ou non. Si la synchronisation MSA est activée pour un utilisateur sur un ordinateur, ce modèle est désactivé automatiquement.

DeferToOffice365

Comme pour MSA, ce paramètre détermine si ce modèle est activé conjointement avec Office 365. Si Office 365 est utilisé pour synchroniser les paramètres, ce modèle est désactivé automatiquement.

Processes

Conteneur pour une collection d'un ou plusieurs éléments Process. Pour plus d'informations, consultez Processes et élément Process.

Settings

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, voir Paramètres dans Types de données.

Élément Common

Common s'apparente à un élément Application, mais il est toujours associé à plusieurs éléments Application. La section Common représente l'ensemble des paramètres qui sont partagés par 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é pour l'affichage lors du référencement du modèle dans les journaux de débogage, WMI, PowerShell et l'Observateur d'événements. Pour plus d'informations, consultez Élément Name.

ID

Renseigne un identificateur unique pour un modèle particulier. Cette balise devient l'identificateur principal utilisé par l'Agent UE-V pour faire référence au modèle au moment de l'exécution. Pour plus d'informations, consultez Élément 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 Élément Version.

DeferToMSAccount

Détermine si ce modèle est activé conjointement avec un compte Microsoft ou non. Si la synchronisation MSA est activée pour un utilisateur sur un ordinateur, ce modèle est désactivé automatiquement.

DeferToOffice365

Comme pour MSA, ce paramètre détermine si ce modèle est activé conjointement avec Office 365. Si Office 365 est utilisé pour synchroniser les paramètres, ce modèle est désactivé automatiquement.

Settings

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, voir Paramètres dans Types de 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é pour l'affichage lors du référencement du modèle dans les journaux de débogage, WMI, PowerShell et l'Observateur d'événements. Pour plus d'informations, consultez Élément Name.

ID

Renseigne un identificateur unique pour un modèle particulier. Cette balise devient l'identificateur principal utilisé par l'Agent UE-V pour faire référence au modèle au moment de l'exécution. Pour plus d'informations, consultez Élément 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 avec 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/2013/SettingsLocationTemplate"
  elementFormDefault="qualified"
  xmlns="https://schemas.microsoft.com/UserExperienceVirtualization/2013/SettingsLocationTemplate"
  xmlns:mstns="https://schemas.microsoft.com/UserExperienceVirtualization/2013/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="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="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="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:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element name="Registry" type="RegistrySetting" />
        <xs:element name="File" type="FileSetting" />
        <xs:element name="SystemParameter" type="SystemParameterSetting" />
      </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="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="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="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="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="Version" type="TemplateVersion" />
            <xs:element name="Author" type="Author" minOccurs="0" />
            <xs:element name="DeferToMSAccount" 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="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>

Vous avez une suggestion pour UE-V ?

Ajoutez des suggestions ou votez pour les meilleures ici. Pour les problèmes relatifs à UE-V, utilisez le Forum TechNet UE-V.

Voir aussi

Concepts

Utilisation des modèles UE-V 2.x personnalisés et du Générateur UE-V 2.x

Autres ressources

Référence technique pour UE-V 2.x