Profile Management

应用程序定义文件结构

本文介绍了配置文件管理应用程序定义文件的 XML 结构。此结构适用于应用程序分析器和跨平台设置。

体系结构图

体系结构图

  • XML 声明和编码属性

    XML 声明必须指定属性 <?xml version=”1.0”>。

    Encoding=”UTF-8” 是推荐的属性。

  • GroupDefinitions

    组集合的容器。它充当 XML 文档的根元素。其属性包括 version 和 GUID。它们是强制属性。

  • 定义子应用程序的设置。其属性为 name 和 GUID。它们是强制属性。

  • 对象

    定义子应用程序的一个设置。其属性为 name 和 GUID。它们是强制属性。

  • 平台

    Platform 在不同的操作系统中提供不同的定义。它可以使用可选属性 OSVersionNumber 来指定操作系统。当没有属性时,所有平台都接受设置的内部定义。Platform 必须包含以下元素之一:RegKey、RegValue、File、Folder 和 Wallpaper。

  • 注册表项

    将设置定义为注册表中的一个键。它必须包含 Key 元素。它包含两个可选子元素:Recurse 和 Merge。Recurse 和 Merge 定义了配置文件管理漫游此键时的性能。另一个可选子元素是 ExcludeValues。ExcludeValues 定义了可以排除的注册表值。

  • 注册表值

    将设置定义为注册表中的一个值。它必须包含 Key 以指定其父键的路径。

  • 文件夹

    将设置定义为一个文件夹。它必须包含 Path 以指定文件夹的路径。它具有可选子元素 RecurseMerge。Recurse 和 Merge 定义了配置文件管理漫游此文件夹时的性能。另一个可选子元素是 ExcludeFiles,它定义了可以排除的文件。

  • 文件

    将设置定义为一个文件。它必须包含 Path 以指定其父文件夹的路径,以及 FileName 以指定文件的名称。

  • 壁纸

    定义所有壁纸设置。不需要任何属性或子元素。配置文件管理会自动漫游这些设置。

  • 指定注册表项的路径或父注册表项的路径。Key 是 RegKey 和 RegValue 的子元素。

  • 值名称

    指定注册表值的名称。它是 RegValue 的子元素。

  • 路径

    指定文件夹路径或父文件夹路径。它是 Folder 和 File 的子元素。可以采用 Profile Management 变量。

  • 文件名

    指定文件的名称。它是 File 的子元素。

  • 递归

    RegKey 和 Folder 的可选子元素。如果此元素存在,Profile Management 将递归漫游密钥和文件夹。

  • 合并

    RegKey 和 Folder 的可选子元素。如果此元素存在,Profile Management 将合并(但不替换)密钥和文件夹。

  • 排除值

    RegKey 的可选子元素。指定漫游密钥时可以排除的值。

  • 排除文件

    Folder 的可选子元素。指定漫游文件夹时可以排除的文件。

  • 排除

    ExcludeValues 和 ExcludeFiles 的子元素。指定文件或注册表值的排除项。

注意

确保您的文档包含正确的语法格式。Profile Management 在加载这些文件时,会使用 CPSValidationSchema.xsd 验证文件来检查这些文件。您可以在 Profile Management 的安装路径下找到该验证文件。Profile Management 会忽略不正确的文件并在日志中记录错误消息。

示例

<?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>
应用程序定义文件结构