Profile Management

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

この記事では、Profile Managementアプリケーション定義ファイルのXML構造について説明します。この構造は、アプリケーションプロファイラーとクロスプラットフォーム設定の両方に適用されます。

アーキテクチャ図

アーキテクチャ図

  • XML宣言とエンコーディング属性

    XML宣言は、属性 <?xml version=”1.0”> を指定する必要があります。

    Encoding=”UTF-8” は推奨される属性です。

  • GroupDefinitions

    グループのコレクションのコンテナ。XMLドキュメントのルート要素として機能します。その属性にはバージョンとGUIDが含まれます。これらは必須属性です。

  • グループ

    サブアプリケーションの設定を定義します。その属性は名前とGUIDです。これらは必須属性です。

  • オブジェクト

    サブアプリケーションの1つの設定を定義します。その属性は名前とGUIDです。これらは必須属性です。

  • プラットフォーム

    プラットフォームは、異なるオペレーティングシステムで異なる定義を提供します。オペレーティングシステムを指定するために、オプションの属性OSVersionNumberを使用できます。属性がない場合、すべてのプラットフォームが設定の内部定義を受け入れます。プラットフォームには、次のいずれかの要素が含まれている必要があります: RegKey、RegValue、File、Folder、およびWallpaper。

  • RegKey

    設定をレジストリ内のキーとして定義します。Key要素を含める必要があります。RecurseとMergeの2つのオプションのサブ要素が含まれます。RecurseとMergeは、Profile Managementがキーをローミングする際のパフォーマンスを定義します。もう1つのオプションのサブ要素はExcludeValuesです。ExcludeValuesは、除外できるレジストリ値を定義します。

  • RegValue

    設定をレジストリ内の値として定義します。親キーのパスを指定するためにKeyを含める必要があります。

  • フォルダー

    設定をフォルダーとして定義します。フォルダーのパスを指定するためにPathを含める必要があります。オプションのサブ要素として、RecurseMergeがあります。RecurseとMergeは、Profile Managementがフォルダーをローミングする際のパフォーマンスを定義します。もう1つのオプションのサブ要素はExcludeFilesで、これは除外できるファイルを定義します。

  • ファイル

    設定をファイルとして定義します。親フォルダーのパスを指定するPathと、ファイル名を指定するFileNameを含める必要があります。

  • 壁紙

    すべての壁紙設定を定義します。属性やサブ要素は必要ありません。Profile Managementはこれらの設定を自動的にローミングします。

  • Key

    レジストリキーのパス、または親レジストリキーのパスを指定します。KeyはRegKeyとRegValueのサブ要素です。

  • ValueName

    レジストリ値の名前を指定します。RegValueのサブ要素です。

  • パス

    フォルダーのパスまたは親フォルダーのパスを指定します。これは、Folder および File のサブ要素です。Profile Management 変数を利用できます。

  • ファイル名

    ファイルの名前を指定します。これは 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. -->

<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>
アプリケーション定義ファイルの構造