アプリケーション定義ファイルの構造

最終公開日 : Nov 13, 2026
この記事では、プロファイル管理アプリケーション定義ファイルのXML構造について説明します。この構造は、アプリケーションプロファイラーとクロスプラットフォーム設定の両方に適用されます。

アーキテクチャ図

アーキテクチャ図(/en-us/profile-management/2503/media/definitionfilestructure.jpg)
  • XML宣言とエンコーディング属性
    XML宣言では、属性 \<?xml version="1.0"\> を指定する必要があります。
    Encoding="UTF-8" は推奨される属性です。
  • GroupDefinitions
    グループのコレクションのコンテナです。XMLドキュメントのルート要素として機能します。その属性には version と GUID が含まれます。これらは必須属性です。
  • グループ
    サブアプリケーションの設定を定義します。その属性は name と GUID です。これらは必須属性です。
  • オブジェクト
    サブアプリケーションの1つの設定を定義します。その属性は name と GUID です。これらは必須属性です。
  • プラットフォーム
    Platform は、異なるオペレーティングシステムで異なる定義を提供します。オプションの属性 OSVersionNumber を使用してオペレーティングシステムを指定できます。属性がない場合、すべてのプラットフォームは設定の内部定義を受け入れます。Platform には、次のいずれかの要素を含める必要があります: RegKey, RegValue, File, Folder, and Wallpaper。
  • RegKey
    レジストリ内のキーとして設定を定義します。Key要素を含める必要があります。オプションのサブ要素として、RecurseとMergeの2つが含まれます。RecurseとMergeは、Profile Managementがキーをローミングする際のパフォーマンスを定義します。もう1つのオプションのサブ要素はExcludeValuesです。ExcludeValuesは、除外できるレジストリ値を定義します。
  • RegValue
    レジストリ内の値として設定を定義します。親キーのパスを指定するためにKeyを含める必要があります。
  • フォルダー
    設定をフォルダーとして定義します。フォルダーのパスを指定するためにPathを含める必要があります。オプションのサブ要素として、RecurseとMergeがあります。RecurseとMergeは、Profile Managementがフォルダーをローミングする際のパフォーマンスを定義します。もう1つのオプションのサブ要素はExcludeFilesで、これは除外できるファイルを定義します。
  • ファイル
    設定をファイルとして定義します。親フォルダーのパスを指定するPathと、ファイル名を指定するFileNameを含める必要があります。
  • 壁紙
    すべての壁紙設定を定義します。属性やサブ要素は必要ありません。Profile Managementはこれらの設定を自動的にローミングします。
  • Key
    レジストリキーのパス、または親レジストリキーのパスを指定します。KeyはRegKeyとRegValueのサブ要素です。
  • ValueName
    レジストリ値の名前を指定します。RegValueのサブ要素です。
  • パス
    フォルダーのパスまたは親フォルダーのパスを指定します。これはFolderとFileのサブ要素です。Profile Managementの変数を採用できます。
  • FileName
    ファイルの名前を指定します。これはFileのサブ要素です。
  • 再帰
    RegKeyとFolderのオプションのサブ要素です。この要素が存在する場合、Profile Managementはキーとフォルダーを再帰的にローミングします。
  • マージ
    RegKeyとFolderのオプションのサブ要素です。この要素が存在する場合、Profile Managementはキーとフォルダーをマージします(ただし、置換はしません)。
  • ExcludeValues
    RegKeyのオプションのサブ要素です。キーをローミングする際に除外できる値を指定します。
  • ExcludeFiles
    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. -->

&lt;GroupDefinitions GUID="748E63D3-426E-4796-9C32-420B25DB2D9F" Version="4.0.0.0">

<!-- Application Settings -->

&lt;Group GUID="0FCCCF29-0A0E-482d-A77E-3F39A8A854A6" Name="Application Settings">

<!-- Registry Key Setting Example -->

&lt;Object GUID="637EC13C-2D47-4142-A8EB-3CEA6D53522A" Name="Software\Application\certain key">

&lt;Platform>

&lt;RegKey>

&lt;Key>Software\Microsoft\Office\certain key&lt;/Key>

&lt;Merge/>

&lt;Recurse/>

&lt;ExcludeValues>

&lt;Exclude>excluded value 1&lt;/Exclude>

&lt;Exclude>excluded value 2&lt;/Exclude>

&lt;Exclude>excluded value 3&lt;/Exclude>

&lt;/ExcludeValues>

&lt;/RegKey>

&lt;/Platform>

&lt;/Object>

<!-- Registry Value Setting Example -->

&lt;Object GUID="3C896310-10C4-4e5f-90C7-A79F4E653F81" Name="Software\Application\certain value">

<!-- Folder Setting Example -->

&lt;Object GUID="7F8615D0-5E63-4bd0-982D-B7740559C6F9" Name="!CTX_ROAMINGAPPDATA!\Application\setting folder">

&lt;Platform>

&lt;Folder>

<!-- We can use Citrix variable if necessary -->

&lt;Path>!CTX_ROAMINGAPPDATA!\Application\setting folder&lt;/Path>

&lt;Merge/>

&lt;Recurse/>

&lt;ExcludeFiles>

&lt;Exclude>excluded file 1&lt;/Exclude>

&lt;Exclude>excluded file 2&lt;/Exclude>

&lt;Exclude>excluded file 3&lt;/Exclude>

&lt;/ExcludeFiles>

&lt;/Folder>

&lt;/Platform>

&lt;/Object>

<!-- File Setting Example -->

&lt;Object GUID="7F8615D0-5E63-4bd0-982D-B7740559C6F9" Name="!CTX_ROAMINGAPPDATA!\Application\file.txt">

&lt;Platform>

&lt;File>

<!-- We can use Citrix variable if necessary -->

&lt;Path>!CTX_ROAMINGAPPDATA!\Application&lt;/Path>

&lt;FileName>file.txt&lt;/FileName>

&lt;/File>

&lt;/Platform>

&lt;/Object>

<!-- Setting based on different OS -->

&lt;Object GUID="1B43DE3F-EC9C-463c-AC19-CD01D00219B6" Name="!CTX_ROAMINGAPPDATA!\Application\%osname%\folder">

<!-- Assuming that the folder locates differently when in different platforms -->

&lt;Platform OSVersionNumber="6.1">

<!-- Win7 -->

&lt;Folder>

&lt;Path>!CTX_ROAMINGAPPDATA!\Application\Win7\folder&lt;/Path>

&lt;Recurse/>

&lt;/Folder>

&lt;/Platform>

&lt;Platform OSVersionNumber="10.0">

<!-- Win10 -->

&lt;Folder>

&lt;Path>!CTX_ROAMINGAPPDATA!\Application\Win10\folder&lt;/Path>

&lt;Recurse/>

&lt;/Folder>

&lt;/Platform>

&lt;/Object>

&lt;/Group>

&lt;/GroupDefinitions>