Profile Management

应用程序定义文件结构

本文介绍了 Profile Management 应用程序定义文件的 XML 结构。此结构同时适用于应用程序探查器和跨平台设置。

体系结构示意图

体系结构示意图

  • XML 声明和编码属性

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

    Encoding=”UTF-8” 为推荐属性。

  • GroupDefinitions

    组的集合的容器。用作 XML 文档的根元素。其属性包括 version 和 GUID。这些是必需属性。

  • 定义子应用程序的设置。其属性为 name 和 GUID。这些是必需属性。

  • 对象

    定义子应用程序的一个设置。其属性为 name 和 GUID。这些是必需属性。

  • 平台

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

  • RegKey

    将某项设置定义为注册表中的注册表项。必须包含 Key 元素。包括两个可选子元素 Recurse 和 Merge。Recurse 和 Merge 定义 Profile Management 漫游注册表项时的性能。另一个可选子元素为 ExcludeValues。ExcludeValues 定义可以排除的注册表值。

  • RegValue

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

  • 文件夹

    将某项设置定义为文件夹。必须包含 Path 以指定文件夹的路径。它具有可选子元素 RecurseMerge。Recurse 和 Merge 定义 Profile Management 漫游文件夹时的性能。另一个可选子元素为 ExcludeFiles,定义可以排除在外的文件。

  • 文件

    将某项设置定义为文件。必须包含 Path 以指定其父文件夹的路径,并且必须包含 FileName 以指定文件的名称。

  • 壁纸

    定义所有墙纸设置。不需要任何属性或子元素。Profile Management 自动漫游这些设置。

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

  • ValueName

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

  • Path

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

  • FileName

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

  • Recurse

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

  • Merge

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

  • ExcludeValues

    RegKey 的可选子元素。指定漫游注册表项时可以排除在外的值。

  • ExcludeFiles

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

  • Exclude

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