应用程序定义文件结构
本文介绍了 Profile Management 应用程序定义文件的 XML 结构。此结构同时适用于应用程序探查器和跨平台设置。
体系结构示意图
-
XML 声明和编码属性
XML 声明必须指定属性 <?xml version=”1.0”>。
Encoding=”UTF-8” 为推荐属性。
-
GroupDefinitions
组的集合的容器。用作 XML 文档的根元素。其属性包括 version 和 GUID。这些是必需属性。
-
Group
定义子应用程序的设置。其属性为 name 和 GUID。这些是必需属性。
-
对象
定义子应用程序的一个设置。其属性为 name 和 GUID。这些是必需属性。
-
Platform
Platform 在不同的操作系统中提供不同的定义。可以使用可选属性 OSVersionNumber 指定操作系统。如果不存在任何属性,所有平台都将接受设置的内部定义。平台必须包含以下元素之一:RegKey、RegValue、File、Folder 和 Wallpaper。
-
RegKey
将某项设置定义为注册表中的注册表项。必须包含 Key 元素。包括两个可选子元素 Recurse 和 Merge。Recurse 和 Merge 定义 Profile Management 漫游注册表项时的性能。另一个可选子元素为 ExcludeValues。ExcludeValues 定义可以排除的注册表值。
-
RegValue
将某项设置定义为注册表中的值。必须包含 Key 以指定其父注册表项的路径。
-
Folder
将某项设置定义为文件夹。必须包含 Path 以指定文件夹的路径。它具有可选子元素
Recurse
和Merge
。Recurse 和 Merge 定义 Profile Management 漫游文件夹时的性能。另一个可选子元素为ExcludeFiles
,定义可以排除在外的文件。 -
文件
将某项设置定义为文件。必须包含 Path 以指定其父文件夹的路径,并且必须包含
FileName
以指定文件的名称。 -
Wallpaper
定义所有墙纸设置。不需要任何属性或子元素。Profile Management 自动漫游这些设置。
-
键
指定注册表项的路径或父注册表项的路径。Key 是 RegKey 和 RegValue 的子元素。
-
ValueName
指定注册表值的名称。它是 RegValue 的子元素。
-
路径
指定文件夹的路径或父文件夹的路径。它是 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>