Structure du fichier de définition d’application
Cet article décrit la structure XML des fichiers de définition d’application de Profile Management. Cette structure s’applique à la fois aux paramètres du profileur d’application et aux paramètres multiplateformes.
Schéma d’architecture

-
Déclaration XML et attribut d’encodage
La déclaration XML doit spécifier l’attribut, <?xml version=”1.0”>.
Encoding=”UTF-8” est un attribut recommandé.
-
GroupDefinitions
Un conteneur de collections de groupes. Il agit comme l’élément racine du document XML. Ses attributs incluent la version et le GUID. Ce sont des attributs obligatoires.
-
Group
Définit les paramètres d’une sous-application. Ses attributs sont le nom et le GUID. Ce sont des attributs obligatoires.
-
Object
Définit un paramètre d’une sous-application. Ses attributs sont le nom et le GUID. Ce sont des attributs obligatoires.
-
Platform
Platform fournit différentes définitions dans différents systèmes d’exploitation. Il peut utiliser un attribut facultatif OSVersionNumber pour spécifier le système d’exploitation. Lorsqu’il n’y a pas d’attribut, toutes les plateformes acceptent la définition interne du paramètre. Platform doit contenir l’un des éléments suivants : RegKey, RegValue, File, Folder et Wallpaper.
-
RegKey
Définit un paramètre comme une clé dans le registre. Il doit contenir l’élément Key. Il inclut deux sous-éléments facultatifs, Recurse et Merge. Recurse et Merge définissent les performances lorsque Profile Management itinère la clé. Un autre sous-élément facultatif est ExcludeValues. ExcludeValues définit les valeurs de registre qui peuvent être exclues.
-
RegValue
Définit un paramètre comme une valeur dans le registre. Il doit contenir Key pour spécifier le chemin de sa clé parente.
-
Folder
Définit un paramètre comme un dossier. Il doit contenir Path pour spécifier le chemin du dossier. Il a des sous-éléments facultatifs,
RecurseetMerge. Recurse et Merge définissent les performances lorsque Profile Management itinère le dossier. Un autre sous-élément facultatif estExcludeFiles, qui définit les fichiers qui peuvent être exclus. -
File
Définit un paramètre comme un fichier. Il doit contenir Path pour spécifier le chemin de son dossier parent, et
FileNamepour spécifier le nom d’un fichier. -
Wallpaper
Définit tous les paramètres de fond d’écran. Aucun attribut ou sous-élément n’est requis. Profile Management itinère ces paramètres automatiquement.
-
Key
Spécifie le chemin de la clé de registre ou le chemin de la clé de registre parente. Key est le sous-élément de RegKey et RegValue.
-
ValueName
Spécifie le nom de la valeur de registre. C’est un sous-élément de RegValue.
-
Path
Spécifie le chemin du dossier ou le chemin du dossier parent. C’est un sous-élément de Folder et File. Les variables de Profile Management peuvent être adoptées.
-
FileName
Spécifie le nom d’un fichier. C’est un sous-élément de File.
-
Recurse
Sous-élément facultatif de RegKey et Folder. Si cet élément existe, Profile Management parcourt la clé et le dossier de manière récursive.
-
Merge
Sous-élément facultatif de RegKey et Folder. Si cet élément existe, Profile Management fusionne (mais ne substitue pas) la clé et le dossier.
-
ExcludeValues
Sous-élément facultatif de RegKey. Spécifie les valeurs qui peuvent être exclues lors de l’itinérance de la clé.
-
ExcludeFiles
Sous-élément facultatif de Folder. Spécifie les fichiers qui peuvent être exclus lors de l’itinérance du dossier.
-
Exclude
Sous-élément de ExcludeValues et ExcludeFiles. Spécifie les éléments exclus des fichiers ou des valeurs de registre.
Remarque
Assurez-vous que votre document contient un format de syntaxe correct. Profile Management vérifie ces fichiers à l’aide du fichier de validation CPSValidationSchema.xsd lorsque ces fichiers sont chargés. Vous pouvez trouver le fichier de validation sous le chemin d’installation de Profile Management. Profile Management ignore les fichiers incorrects et enregistre les messages d’erreur dans le journal.
Exemple
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2011 Citrix Systems, Inc. All Rights Reserved. -->
<GroupDefinitions GUID="748E63D3-426E-4796-9C32-420B25DB2D9F" Version="4.0.0.0">
<!-- Application Settings -->
<Group GUID="0FCCCF29-0A0E-482d-A77E-3F39A8A854A6" Name="Application Settings">
<!-- Registry Key Setting Example -->
<Object GUID="637EC13C-2D47-4142-A8EB-3CEA6D53522A" Name="Software\Application\certain key">
<Platform>
<RegKey>
<Key>Software\Microsoft\Office\certain key</Key>
<Merge/>
<Recurse/>
<ExcludeValues>
<Exclude>excluded value 1</Exclude>
<Exclude>excluded value 2</Exclude>
<Exclude>excluded value 3</Exclude>
</ExcludeValues>
</RegKey>
</Platform>
</Object>
<!-- Registry Value Setting Example -->
<Object GUID="3C896310-10C4-4e5f-90C7-A79F4E653F81" Name="Software\Application\certain value">
<!-- Folder Setting Example -->
<Object GUID="7F8615D0-5E63-4bd0-982D-B7740559C6F9" Name="!CTX_ROAMINGAPPDATA!\Application\setting folder">
<Platform>
<Folder>
<!-- We can use Citrix variable if necessary -->
<Path>!CTX_ROAMINGAPPDATA!\Application\setting folder</Path>
<Merge/>
<Recurse/>
<ExcludeFiles>
<Exclude>excluded file 1</Exclude>
<Exclude>excluded file 2</Exclude>
<Exclude>excluded file 3</Exclude>
</ExcludeFiles>
</Folder>
</Platform>
</Object>
<!-- File Setting Example -->
<Object GUID="7F8615D0-5E63-4bd0-982D-B7740559C6F9" Name="!CTX_ROAMINGAPPDATA!\Application\file.txt">
<Platform>
<File>
<!-- We can use Citrix variable if necessary -->
<Path>!CTX_ROAMINGAPPDATA!\Application</Path>
<FileName>file.txt</FileName>
</File>
</Platform>
</Object>
<!-- Setting based on different OS -->
<Object GUID="1B43DE3F-EC9C-463c-AC19-CD01D00219B6" Name="!CTX_ROAMINGAPPDATA!\Application\%osname%\folder">
<!-- Assuming that the folder locates differently when in different platforms -->
<Platform OSVersionNumber="6.1">
<!-- Win7 -->
<Folder>
<Path>!CTX_ROAMINGAPPDATA!\Application\Win7\folder</Path>
<Recurse/>
</Folder>
</Platform>
<Platform OSVersionNumber="10.0">
<!-- Win10 -->
<Folder>
<Path>!CTX_ROAMINGAPPDATA!\Application\Win10\folder</Path>
<Recurse/>
</Folder>
</Platform>
</Object>
</Group>
</GroupDefinitions>