UE-V のアプリケーション テンプレート スキーマ リファレンス (Windows 10)

User Experience Virtualization (UE-V) は、XML 設定場所テンプレートを使用して、UE-V によってキャプチャおよび適用されるデスクトップ アプリケーション設定と Windows 設定を定義します。 UE-V には、一連の既定の設定の場所テンプレートが含まれています。 UE-V テンプレート ジェネレーターを使用して、カスタム設定場所テンプレートを作成することもできます。

上級ユーザーは、設定場所テンプレートの XML ファイルをカスタマイズできます。 このトピックでは、UE-V 設定場所テンプレートの XML 構造について詳しく説明し、これらのファイルを編集するためのガイダンスを提供します。

UE-V アプリケーション テンプレート スキーマ参照

このセクションでは、UE-V 設定の場所テンプレートの XML 構造について詳しく説明し、このファイルを編集するためのガイダンスを提供します。

このセクションの内容

XML 宣言とエンコード属性

必須: True型: 文字列

XML 宣言では、XML バージョン 1.0 属性 (<?xml version="1.0">) を指定する必要があります。 UE-V テンプレート ジェネレーターによって作成された設定場所テンプレートは UTF-8 エンコードで保存されますが、エンコーディングは明示的に指定されていません。 ベスト プラクティスとして、この要素に encoding="UTF-8" 属性を含めることをお勧めします。 製品に含まれるすべてのテンプレートでも、このタグを指定します (参考については、%ProgramFiles%\Microsoft User Experience Virtualization\Templates のドキュメントを参照してください)。 次に、例を示します。

<?xml version="1.0" encoding="UTF-8"?>

名前空間とルート要素

必須: True型: 文字列

UE-V はすべてのアプリケーションで https://schemas.microsoft.com/UserExperienceVirtualization/2012/SettingsLocationTemplate 名前空間を使用します。 SettingsLocationTemplate はルート要素であり、他のすべての要素が含まれます。 このタグを使用してすべてのテンプレートで SettingsLocationTemplate を参照します。

<SettingsLocationTemplate xmlns='https://schemas.microsoft.com/UserExperienceVirtualization/2012/SettingsLocationTemplate'>

データ型

これらのデータ型は、UE-V アプリケーション テンプレート スキーマ用のデータ型です。

GUID GUID では、"\{[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}\}" という形式の標準的なグローバル一意識別子正規表現を記述します。 この GUID は、既知のフォルダーの書式設定を確認するために、Filesetting\Root\KnownFolder 要素で使用されます。

FilenameString FilenameString は、監視するプロセスのファイル名を参照します。 その値は正規表現 [^\\\?\*\|<> によって制限されています/:]+、つまり、バックスラッシュ文字、アスタリスクまたは疑問符ワイルドカード文字、パイプ文字、大なり記号または小なり記号、スラッシュ、またはコロン文字を含めることはできません)。

IDString IDString は、Application 要素、SettingsLocationTemplate、および Common 要素 (共通設定を共有するアプリケーション スイートを記述するために使用されます) の ID 値を参照します。 FilenameString ([^\\\?\*\|<> と同じ正規表現で制限されます/:]+).

TemplateVersion TemplateVersion は、設定場所テンプレートのリビジョンを記述するために使用される整数値です。 値の範囲は 0 から 2147483647 です。

空は null 値を参照します。 このデータ型は、監視するプロセスがないことを示すために Process\ShellProcess で使用されます。 この値は、アプリケーション テンプレートでは使用しないでください。

作成者 Author データ型は、テンプレートの作成者を識別する複合型です。 Name Email の 2 つの子要素が含まれています。 Author データ型内では、Name 要素は必須で、Email 要素はオプションです。 この種類の詳細については、SettingsLocationTemplate 要素を参照してください。

範囲Range は、2 つの子要素 (Minimum と Maximum) で構成される整数クラスを定義します。 このデータ型は、ProcessVersion データ型で実装されています。 指定した場合は、最小値と最大値の両方を含める必要があります。

ProcessVersion ProcessVersion は、 MajorMinorBuild、Patch の 4 つの子要素を持つ型を定義 します。 このデータ型は、Process 要素が ProductVersion 値と FileVersion 値を設定するために使用されます。 この種類のデータは Range 値です。 メジャー子要素は必須で、それ以外は省略可能です。

アーキテクチャ アーキテクチャには、 Win32Win64 という 2 つの値を列挙します。 これらの値は、プロセス アーキテクチャを指定するために使用されます。

プロセス Process データ型は、UE-V によって監視されるプロセスを記述するために使用されるコンテナーです。 Filename、Architecture、ProductNameFileDescriptionProductVersionFileVersion の 6 つの子要素があります。 次の表では、各要素のそれぞれのデータ型について詳しく説明します。

要素 データ型 Mandatory
ファイル名 FilenameString True
アーキテクチャ アーキテクチャ False
ProductName String False
ファイルの説明 String False
ProductVersion ProcessVersion False
FileVersion ProcessVersion False

プロセス Processes データ型は、1 つまたは複数の Process 要素のコレクションのコンテナを表します。 プロセス シーケンス型では、 2 つの子要素 Process と ShellProcess がサポートされています。 Process は Process 型の要素で、ShellProcess のデータ型は Empty です。 シーケンス内で少なくとも 1 つの項目を特定する必要があります。

パス パスは、レジストリとファイル パスを参照するために RegistrySetting と FileSetting によって使用されます。 この要素は、 RecursiveDeleteIfNotFound という 2 つのオプション属性をサポートします。 どちらの値も default="False" に設定されます。

再帰的には、パスとすべてのサブフォルダーがファイル設定に含まれるか、すべての子レジストリ キーがレジストリ設定に含まれることを示します。 どちらの場合も、現在のレベルのすべての項目がキャプチャされるデータに含まれます。 FileSettings オブジェクトの場合、指定されたフォルダー内のすべてのファイルが UE-V によってキャプチャされるデータに含まれますが、フォルダーは含まれません。 レジストリ パスでは、現在のパスのすべての値がキャプチャされますが、子レジストリ キーはキャプチャされません。 どちらの場合も、大きなデータ セットや大量のアイテムをキャプチャしないように注意する必要があります。

DeleteIfNotFound 属性は、ユーザーの設定ストレージ パス データから設定を削除します。 これらの設定をパッケージから削除すると、設定ストレージ パス ファイル サーバー上の大量のディスク領域が節約される場合、この削除が望ましい場合があります。

FileMask FileMask は、パスで定義されたフォルダーの特定のファイルの種類のみを指定します。 たとえば、Path を C:\users\username\files し、FileMask をテキスト ファイルのみを含めるように *.txt できます。

RegistrySetting RegistrySetting は、レジストリ キーと値、および関連付けられている UE-V サービスの側で望ましい動作のコンテナーを表します。 この型内では、 PathNameExclude、および PathName の値のシーケンスの 4 つの子要素が定義されています。

FileSetting FileSetting には、ファイルとファイル パスに関連付けられているパラメーターが含まれています。 RootPathFileMask、および Exclude の 4 つの子要素が定義されています。 ルートは必須で、それ以外は省略可能です。

設定 設定は、特定のテンプレートに適用されるすべての設定のコンテナーです。 これには、前に説明したレジストリ、File、SystemParameter、および CustomAction 設定のインスタンスが含まれます。 さらに、説明されている動作を含む次の子要素を含めることもできます。

要素 説明
非同期 非同期設定パッケージは、アプリケーションの起動をブロックせずに適用されるため、設定がまだ適用されている間はアプリケーションの起動が続行されます。 この要素は、SystemParameterSetting などの API を使用して取得/設定される設定など、非同期で適用できる設定に役立ちます。
PreventOverlappingSynchronization 既定では、UE-V は、テンプレートを使用しているアプリケーションの最後のインスタンスが閉じられたときにのみ、アプリケーションの設定を保存します。 この要素が 'false' に設定されている場合、UE-V は、アプリケーションの他のインスタンスが実行されていても、設定をエクスポートします。 UE-V に付属する適切なテンプレート (共通要素セクションを含むテンプレート) は、このフラグを使用して、共有設定がアプリケーションを閉じたときに常にエクスポートできるようにし、最後のインスタンスが閉じられるまでアプリケーション固有の設定がエクスポートされないようにします。
AlwaysApplySettings このパラメーターは、パッケージとアプリケーションの現在の状態の間に違いがない場合でも、インポートした設定パッケージを強制的に適用します。 このパラメーターは設定のインポートを遅くする可能性があるため、特別な場合にのみ使用する必要があります。

Name Element

必須: True型: 文字列

Name は、設定場所テンプレートの一意の名前を指定します。 この名前は、WMI、PowerShell、イベント ビューアー、およびデバッグ ログでテンプレートを参照するときの表示目的で使用されます。 通常、バージョン情報の参照は ProductVersion 要素から異議を唱えられることがあるので避けてください。 たとえば、<Name>My Application 1.1</Name> ではなく <Name>My Application</Name> を指定します。

UE-V は外部 DTD を参照しないため、設定場所テンプレートで名前付きエンティティを使用することはできません。 例えば、登録商標の標識®を参照するために使用®しないでください。 代わりに、これらの種類の特殊文字を含めるには、正規の番号付き参照を使用します (たとえば、文字に ® を指定します®)。 この規則は、この文書内のすべての文字列値に適用されます。

キャラクター エンティティの完全な一覧については、 http://www.w3.org/TR/xhtml1/dtds.html を参照してください。 UTF-8 エンコード文書には、Unicode 文字が直接含まれる場合があります。 UE-V テンプレート ジェネレーターを使用してテンプレートを保存すると、文字エンティティが Unicode 表現に自動的に変換されます。

ID 要素

必須: True型: 文字列

ID は、特定のテンプレートの一意の識別子を入力します。 このタグは、UE-V サービスが実行時にテンプレートを参照するために使用するプライマリ識別子になります (たとえば、Get-UevTemplate および PowerShell コマンドレット Get-UevTemplateProgram 出力を参照)。 慣例により、このタグにはスペースを含めることはできません。これにより、スクリプトが簡単になります。 テンプレート ( <ID>MicrosoftOffice2016Win64</ID> など) を簡単に識別できるように、アプリケーションのバージョン番号をこの要素に指定する必要があります。

Version Element

必須: True型: 整数最小値: 0最大値: 2147483647

バージョンは、変更の管理追跡のための設定場所テンプレートのバージョンを識別します。 UE-V テンプレート ジェネレーターは、テンプレートが保存されるたびに、この数値を自動的に 1 ずつ増やします。 このフィールドは整数の整数である必要があることに注意してください。 <Version>2.5</Version> などの小数値は使用できません。

ヒント

次のように XML コメント タグを使用してバージョン変更に関するメモを保存できます <!-- -->:

<!--
   Version History

   Version 1 Jul 05, 2012 Initial template created by Generator - Denise@Contoso.com
   Version 2 Jul 31, 2012 Added support for app.exe v2.1.3 - Mark@Contoso.com
   Version 3 Jan 01, 2013 Added font settings support - Mark@Contoso.com
   Version 4 Jan 31, 2013 Added support for plugin settings - Tony@Contoso.com
 -->
<Version>4</Version>

重要

この値は、次のインスタンスでテンプレートの新しいバージョンを既存のテンプレートに適用する必要があるかどうかを判断するために照会されます。

  • スケジュールされたテンプレート自動更新タスクが実行されたとき
  • Update-UevTemplate PowerShell コマンドレットが実行されたとき
  • microsoft\uev:SettingsLocationTemplate Update メソッドが WMI によって呼び出された場合

Author 要素

必須: false型: 文字列

作成者は、設定場所テンプレートの作成者を識別します。 2 つのオプションの子要素 Name とEmail がサポートされています。 どちらの属性もオプションですが、Email 子要素を指定する場合は、Name 要素を伴わなければなりません。 作成者は設定場所テンプレートの連絡先のフルネームを参照し、メールは作成者のメール アドレスを参照する必要があります。 一般公開されるテンプレートにこの情報を含めることをお勧めします。

プロセスとプロセス要素

必須: True型: 要素

プロセスには少なくとも 1 つの<Process>要素が含まれており、この要素には次の子要素が含まれます: FilenameArchitectureProductName、FileDescriptionProductVersionおよび FileVersion。 Filename 子要素は必須で、それ以外は省略可能です。 完全に設定された要素には、次の例のようなタグが含まれています。

<Process>
  <Filename>MyApplication.exe</Filename>
  <Architecture>Win64</Architecture>
  <ProductName> MyApplication </ProductName>
  <FileDescription>MyApplication.exe</FileDescription>
  <ProductVersion>
    <Major Minimum="2" Maximum="2" />
    <Minor Minimum="0" Maximum="0" />
    <Build Minimum="0" Maximum="0" />
    <Patch Minimum="5" Maximum="5" />
  </ProductVersion>
  <FileVersion>
    <Major Minimum="2" Maximum="2" />
    <Minor Minimum="0" Maximum="0" />
    <Build Minimum="0" Maximum="0" />
    <Patch Minimum="5" Maximum="5" />
  </FileVersion>
</Process>

ファイル名

必須: True型: 文字列

Filename は、ファイル システムに表示される実行可能ファイルの実際のファイル名を参照します。 この要素は、テンプレートがプロセスに適用されるかどうかを評価するために UE-V が使用する主な基準を指定します。 この要素は、設定場所テンプレート XML で指定する必要があります。

有効なファイル名は正規表現 [^\\\?\*\|<> と一致してはなりません/:]+ つまり、バックスラッシュ文字、アスタリスクまたは疑問符ワイルド カード文字、パイプ文字、大なり記号または小なり記号、スラッシュ、またはコロン (\ ? * | <> / または : 文字) を含めることはできません。

ヒント

この正規表現に対して文字列をテストするには、PowerShell コマンド ウィンドウを使用し、実行可能ファイル名を YourFileName に置き換えます。

"YourFileName.exe" -match "[\\\?\*\|<>/:]+"

True は、文字列に無効な文字が含まれていることを示します。 無効な値の例を次に示します。

  • \\server\share\program.exe
  • プログラム*.exe
  • プロ?ram.exe
  • プログラム<1>.exe

UE-V テンプレート ジェネレーターは、大なり文字と小なり文字をそれぞれ > と < としてエンコードします。

まれに、FileName 値に .exe 拡張子が含まれるとは限りませんが、値の一部として指定する必要があります。 たとえば、<Filename>MyApplication</Filename> ではなく <Filename>MyApplication.exe</Filename> を指定する必要があります。 2 番目の例では、実行可能ファイルの実際の名前が "MyApplication.exe" の場合、テンプレートをプロセスに適用しません。

アーキテクチャ

必須: False型: アーキテクチャ (文字列)

アーキテクチャとは、対象の実行可能ファイルがコンパイルされたプロセッサ アーキテクチャを指します。 有効な値は、32 ビット アプリケーションでは Win32、64 ビット アプリケーションでは Win64 です。 このタグが存在する場合、設定場所テンプレートの適用範囲が特定のアプリケーション アーキテクチャに制限されます。 この適用性制限の例として、UE-V に含まれている %ProgramFiles%\Microsoft User Experience Virtualization\templates\ MicrosoftOffice2016Win32.xml ファイルと MicrosoftOffice2016Win64.xml ファイルを比較してください。 この適用性の制限は、実行可能ファイルの異なるバージョン間で相対パスが変更された場合や、あるプロセッサ アーキテクチャから別のプロセッサ アーキテクチャに移行するときに設定が追加または削除された場合に便利です。

この要素が存在しない場合、設定場所テンプレートはプロセスのアーキテクチャを無視し、ファイル名とその他の属性が適用される場合は 32 ビット プロセスと 64 ビット プロセスの両方に適用されます。

UE-V は、このバージョンの ARM プロセッサをサポートしていません。

ProductName

必須: false型: 文字列

ProductName は、管理目的またはレポート用に製品を識別するために使用されるオプション要素です。 ProductName は、その値に正規表現の制限がないという点で Filename とは異なります。 この柔軟性により、実行可能ファイル名が明確でないプロセスの説明をより簡単に理解できます。 次に、例を示します。

<Process>
  <Filename>MyApplication.exe</Filename>
  <ProductName>My Application 6.x by Contoso.com</ProductName>
  <ProductVersion>
    <Major Minimum="6" Maximum="6" />
  </ProductVersion>
</Process>

ファイルの説明

必須: false型: 文字列

FileDescription は、実行可能ファイルの管理上の説明を可能にするオプションのタグです。 このタグは自由テキスト フィールドであり、実行可能ファイルの機能を識別する必要があるソフトウェア パッケージ内の複数の実行可能ファイルを区別するのに役立つ場合があります。

たとえば、適切なアプリケーションでは、次に示すように、2 つの実行可能ファイル (MyApplication.exe と MyApplicationHelper.exe) の機能についてリマインダーを提供すると便利な場合があります。

<Processes>

   <Process>
      <Filename>MyApplication.exe</Filename>
      <FileDescription>My Application Main Engine</ FileDescription>
      <ProductVersion>
        <Major Minimum="6" Maximum="6" />
      </ProductVersion>
    </Process>
    <Process>
      <Filename>MyApplicationHelper.exe</Filename>
      <FileDescription>My Application Background Process Executable</FileDescription>
      <ProductVersion>
        <Major Minimum="6" Maximum="6" />
      </ProductVersion>
    </Process>
</Processes>

ProductVersion

必須: false型: 文字列

ProductVersion は、ファイルのメジャー製品バージョンとマイナー製品バージョン、およびビルド レベルとパッチ レベルを参照します。 ProductVersion は省略可能な要素ですが、指定する場合は、少なくとも Major 子要素を含める必要があります。 値は、最小="X" 最大="Y" の形式で範囲を表す必要があります。ここで、X と Y は整数です。 最小値と最大値は同じにすることができます。

製品とファイル バージョンの要素は指定しないままにしてもかまいません。 これを行うと、テンプレートが "バージョンに依存しない" ようになります。つまり、指定された実行可能ファイルのすべてのバージョンにテンプレートが適用されるようになります。

例 1:

UE-V テンプレート ジェネレーターで指定された製品バージョン: 1.0 は、次の XML を生成します。

<ProductVersion>
  <Major Minimum="1" Maximum="1" />
  <Minor Minimum="0" Maximum="0" />
</ProductVersion>

例 2:

UE-V テンプレート ジェネレーターで指定されたファイル バージョン: 5.0.2.1000 は、次の XML を生成します。

<FileVersion>
  <Major Minimum="5" Maximum="5" />
  <Minor Minimum="0" Maximum="0" />
  <Build Minimum="2" Maximum="2" />
  <Patch Minimum="1000" Maximum="1000" />
</FileVersion>

不適切な例 1 - 不完全な範囲:

最小属性のみが存在します。 Maximum も範囲に含める必要があります。

<ProductVersion>
  <Major Minimum="2" />
</ProductVersion>

正しくない例 2 - Major 要素なしで Minor を指定する:

マイナー要素のみが存在します。 メジャーも含める必要があります。

<ProductVersion>
  <Minor Minimum="0" Maximum="0" />
</ProductVersion>

FileVersion

必須: false型: 文字列

FileVersion は、公開されたアプリケーションのリリース バージョンと、コンポーネント実行可能ファイルの内部ビルドの詳細を区別します。 ほとんどの商用アプリケーションでは、これらの数値は同じです。 ファイルの種類は異なる場合、ファイルの製品バージョンはファイルの一般的なバージョンの識別を示し、ファイル バージョンはファイルの特定のビルドを示します (修正プログラムや更新プログラムの例のように)。 このファイル バージョンは、検出ロジックを中断することなくファイルを一意に識別します。

特定の実行可能ファイルの製品バージョンとファイル バージョンを確認するには、Windows エクスプローラーでファイルを右クリックし、[プロパティ] を選択して、[詳細] タブをクリックします。

アプリケーションの FileVersion 要素を含めると、検出ロジックをより細かく微調整できますが、ほとんどのアプリケーションでは必要ありません。 最初に ProductVersion 要素の設定を確認し、次に FileVersion を確認します。 より制限の厳しい設定が適用されます。

FileVersion の子要素および構文規則は、ProductVersion のそれらの要素および規則と同じです。

<Process>
  <Filename>MSACCESS.EXE</Filename>
  <Architecture>Win32</Architecture>
  <ProductVersion>
    <Major Minimum="14" Maximum="14" />
    <Minor Minimum="0" Maximum="0" />
  </ProductVersion>
  <FileVersion>
    <Major Minimum="14" Maximum="14" />
    <Minor Minimum="0" Maximum="0" />
  </FileVersion>
</Process>

Application Element

アプリケーションは、特定のアプリケーションに適用される設定のコンテナーです。 これは、次のフィールド/タイプのコレクションです。

フィールド/タイプ 説明
Name 設定場所テンプレートの一意の名前を指定します。 この名前は、WMI、PowerShell、イベント ビューアー、およびデバッグ ログでテンプレートを参照するときの表示目的で使用されます。 詳細については、「 名前」を参照してください。
ID 特定のテンプレートに一意の識別子を設定します。 このタグは、UE-V サービスが実行時にテンプレートを参照するために使用するプライマリ識別子になります。 詳細については、「 ID」を参照してください。
説明 テンプレートの説明 (任意)。
LocalizedNames UI に表示されるオプションの名前。言語ロケールによってローカライズされます。
LocalizedDescriptions 言語ロケールによってローカライズされたオプションのテンプレートの説明。
バージョン 変更の管理追跡のための設定場所テンプレートのバージョンを識別します。 詳細については、「 バージョン」を参照してください。
DeferToMSAccount このテンプレートを Microsoft アカウントと組み合わせて有効にするかどうかを制御します。 コンピューター上のユーザーに対して MSA 同期が有効になっている場合、このテンプレートは自動的に無効になります。
DeferToOffice365 MSA と似ていますが、この種類は、このテンプレートを Office361 と組み合わせて有効にするかどうかを制御します。 Office 365 を使用して設定を同期している場合、このテンプレートは自動的に無効になります。
FixedProfile このテンプレートは、この要素内で指定されたプロファイルにのみ関連付けることができ、WMI または PowerShell を介して変更できないことを指定します。
プロセス 1 つまたは複数の Process 要素のコレクションのコンテナー。 詳細については、「 プロセス」を参照してください。
設定 特定のテンプレートに適用されるすべての設定のコンテナー。 これには、Registry、File、SystemParameter、および CustomAction 設定のインスタンスが含まれます。 詳細については、「データ型」の設定を参照してください。

共通要素

Common は Application 要素に似ていますが、常に 2 つ以上の Application 要素に関連付けられます。 「共通」セクションは、それらのアプリケーション・インスタンス間で共有される一連の設定を表します。 これは、次のフィールド/タイプのコレクションです。

フィールド/タイプ 説明
Name 設定場所テンプレートの一意の名前を指定します。 この名前は、WMI、PowerShell、イベント ビューアー、およびデバッグ ログでテンプレートを参照するときの表示目的で使用されます。 詳細については、「 名前」を参照してください。
ID 特定のテンプレートに一意の識別子を設定します。 このタグは、UE-V サービスが実行時にテンプレートを参照するために使用するプライマリ識別子になります。 詳細については、「 ID」を参照してください。
説明 テンプレートの説明 (任意)。
LocalizedNames UI に表示されるオプションの名前。言語ロケールによってローカライズされます。
LocalizedDescriptions 言語ロケールによってローカライズされたオプションのテンプレートの説明。
バージョン 変更の管理追跡のための設定場所テンプレートのバージョンを識別します。 詳細については、「 バージョン」を参照してください。
DeferToMSAccount このテンプレートを Microsoft アカウントと組み合わせて有効にするかどうかを制御します。 コンピューター上のユーザーに対して MSA 同期が有効になっている場合、このテンプレートは自動的に無効になります。
DeferToOffice365 MSA と似ていますが、この種類は、このテンプレートを Office361 と組み合わせて有効にするかどうかを制御します。 Office 365 を使用して設定を同期している場合、このテンプレートは自動的に無効になります。
FixedProfile このテンプレートは、この要素内で指定されたプロファイルにのみ関連付けることができ、WMI または PowerShell を介して変更できないことを指定します。
設定 特定のテンプレートに適用されるすべての設定のコンテナー。 これには、Registry、File、SystemParameter、および CustomAction 設定のインスタンスが含まれます。 詳細については、「データ型」の「設定」を参照してください。

SettingsLocationTemplate Element

この要素は、単一のアプリケーションまたは一連のアプリケーションの設定を定義します。

フィールド/タイプ 説明
Name 設定場所テンプレートの一意の名前を指定します。 この型は、WMI、PowerShell、イベント ビューアー、およびデバッグ ログでテンプレートを参照するときの表示目的で使用されます。 詳細については、「 名前」を参照してください。
ID 特定のテンプレートに一意の識別子を設定します。 このタグは、UE-V サービスが実行時にテンプレートを参照するために使用するプライマリ識別子になります。 詳細については、「 ID」を参照してください。
説明 テンプレートの説明 (任意)。
LocalizedNames UI に表示されるオプションの名前。言語ロケールによってローカライズされます。
LocalizedDescriptions 言語ロケールによってローカライズされたオプションのテンプレートの説明。

付録: SettingsLocationTemplate.xsd

以下は、要素、子要素、属性、パラメーターを示す SettingsLocationTemplate.xsd ファイルです。

<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="UevSettingsLocationTemplate"
  targetNamespace="https://schemas.microsoft.com/UserExperienceVirtualization/2013A/SettingsLocationTemplate"
  elementFormDefault="qualified"
  xmlns="https://schemas.microsoft.com/UserExperienceVirtualization/2013A/SettingsLocationTemplate"
  xmlns:mstns="https://schemas.microsoft.com/UserExperienceVirtualization/2013A/SettingsLocationTemplate"
  xmlns:xs="http://www.w3.org/2001/XMLSchema">

    <xs:simpleType name="Guid">
        <xs:restriction base="xs:string">
            <xs:pattern value="\{[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}\}" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="FilenameString">
        <xs:restriction base="xs:string">
            <xs:pattern value="[^\\\?\*\|&lt;&gt;/:]+" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="IDString">
        <xs:restriction base="xs:string">
            <xs:pattern value="[^\\\?\*\|&lt;&gt;/:.]+" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="CompositeIDString">
        <xs:restriction base="xs:string">
            <xs:pattern value="[^\\\?\*\|&lt;&gt;/:.]+([.][^\\\?\*\|&lt;&gt;/:.]+)?" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="TemplateVersion">
        <xs:restriction base="xs:integer">
            <xs:minInclusive value="0" />
            <xs:maxInclusive value="2147483647" />
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="Empty">
        <xs:sequence/>
    </xs:complexType>

    <xs:complexType name="LocalizedString">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="Locale" type="xs:string" use="required"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <xs:complexType name="LocalizedName">
        <xs:sequence>
            <xs:element name="Name" type="LocalizedString" minOccurs="1" maxOccurs="unbounded" />
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="LocalizedDescription">
        <xs:sequence>
            <xs:element name="Description" type="LocalizedString" minOccurs="1" maxOccurs="unbounded" />
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="ReplacedTemplates">
      <xs:sequence>
        <xs:element name="ID" type="CompositeIDString" minOccurs="1" maxOccurs="unbounded" />
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Author">
        <xs:all>
            <xs:element name="Name" type="xs:string" minOccurs="1" />
            <xs:element name="Email" type="xs:string" minOccurs="0" />
        </xs:all>
    </xs:complexType>

    <xs:complexType name="Range">
        <xs:attribute name="Minimum" type="xs:integer" use="required"/>
        <xs:attribute name="Maximum" type="xs:integer" use="required"/>
    </xs:complexType>

    <xs:complexType name="ProcessVersion">
        <xs:sequence>
            <xs:element name="Major" type="Range" minOccurs="1" />
            <xs:element name="Minor" type="Range" minOccurs="0" />
            <xs:element name="Build" type="Range" minOccurs="0" />
            <xs:element name="Patch" type="Range" minOccurs="0" />
        </xs:sequence>
    </xs:complexType>

    <xs:simpleType name="Architecture">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Win32"/>
            <xs:enumeration value="Win64"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="Process">
        <xs:sequence>
            <xs:element name="Filename" type="FilenameString" minOccurs="1" />
            <xs:element name="Architecture" type="Architecture" minOccurs="0" />
            <xs:element name="ProductName" type="xs:string" minOccurs="0" />
            <xs:element name="FileDescription" type="xs:string" minOccurs="0" />
            <xs:element name="ProductVersion" type="ProcessVersion" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element name="FileVersion" type="ProcessVersion" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Processes">
        <xs:sequence>
            <xs:choice minOccurs="1">
                <xs:element name="Process" type="Process" />
                <xs:element name="ShellProcess" type="Empty" />
            </xs:choice>
            <xs:element name="Process" type="Process" minOccurs="0" maxOccurs="unbounded" />
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Path">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="Recursive" type="xs:boolean" default="false"/>
                <xs:attribute name="DeleteIfNotFound" type="xs:boolean" default="false"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <xs:complexType name="RegistrySetting">
        <xs:sequence>
            <xs:element name="Path" type="Path" />
            <xs:element name="Name" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="Exclude" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="Path" type="Path" minOccurs="0" />
                        <xs:element name="Name" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="FileSetting">
        <xs:sequence>

            <xs:element name="Root">
                <xs:complexType>
                    <xs:choice>
                        <xs:element name="KnownFolder" type="Guid" />
                        <xs:element name="RegistryEntry" type="xs:string" />
                        <xs:element name="EnvironmentVariable" type="xs:string" />
                    </xs:choice>
                </xs:complexType>
            </xs:element>

            <xs:element name="Path" minOccurs="0" type="Path" />
            <xs:element name="FileMask" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>

            <xs:element name="Exclude" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="Path" type="Path" minOccurs="0" />
                        <xs:element name="FileMask" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>

        </xs:sequence>
    </xs:complexType>

    <xs:simpleType name="CustomActionSetting">
        <xs:restriction base="xs:anyURI"/>
    </xs:simpleType>

    <xs:simpleType name="SystemParameterSetting">
        <xs:restriction base="xs:string">

            <!-- Accessibility parameters -->
            <xs:enumeration value="AccessTimeout"/>
            <xs:enumeration value="AudioDescription"/>
            <xs:enumeration value="ClientAreaAnimation"/>
            <xs:enumeration value="DisableOverlappedContent"/>
            <xs:enumeration value="FilterKeys"/>
            <xs:enumeration value="FocusBorderHeight"/>
            <xs:enumeration value="FocusBorderWidth"/>
            <xs:enumeration value="HighContrast"/>
            <xs:enumeration value="MessageDuration"/>
            <xs:enumeration value="MouseClickLock"/>
            <xs:enumeration value="MouseClickLockTime"/>
            <xs:enumeration value="MouseKeys"/>
            <xs:enumeration value="MouseSonar"/>
            <xs:enumeration value="MouseVanish"/>
            <xs:enumeration value="ScreenReader"/>
            <xs:enumeration value="ShowSounds"/>
            <xs:enumeration value="SoundSentry"/>
            <xs:enumeration value="StickyKeys"/>
            <xs:enumeration value="ToggleKeys"/>

            <!-- Input parameters -->
            <xs:enumeration value="Beep"/>
            <xs:enumeration value="BlockSendInputResets"/>
            <xs:enumeration value="DefaultInputLang"/>
            <xs:enumeration value="DoubleClickTime"/>
            <xs:enumeration value="DoubleClkHeight"/>
            <xs:enumeration value="DoubleClkWidth"/>
            <xs:enumeration value="KeyboardCues"/>
            <xs:enumeration value="KeyboardDelay"/>
            <xs:enumeration value="KeyboardPref"/>
            <xs:enumeration value="KeyboardSpeed"/>
            <xs:enumeration value="Mouse"/>
            <xs:enumeration value="MouseButtonSwap"/>
            <xs:enumeration value="MouseHoverHeight"/>
            <xs:enumeration value="MouseHoverTime"/>
            <xs:enumeration value="MouseHoverWidth"/>
            <xs:enumeration value="MouseSpeed"/>
            <xs:enumeration value="MouseTrails"/>
            <xs:enumeration value="SnapToDefButton"/>
            <xs:enumeration value="WheelScrollChars"/>
            <xs:enumeration value="WheelScrollLines"/>

            <!-- Desktop parameters (limited subset) -->
            <xs:enumeration value="DeskWallpaper"/>
            <xs:enumeration value="DesktopColor"/>

        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="Settings">
        <xs:sequence>
            <xs:element name="Asynchronous" type="xs:boolean" minOccurs="0" />
            <xs:element name="PreventOverlappingSynchronization" type="xs:boolean" minOccurs="0" />
            <xs:element name="AlwaysApplySettings" type="xs:boolean" minOccurs="0" />
            <xs:choice minOccurs="0" maxOccurs="unbounded">
                <xs:element name="Registry" type="RegistrySetting" />
                <xs:element name="File" type="FileSetting" />
                <xs:element name="SystemParameter" type="SystemParameterSetting" />
                <xs:element name="CustomAction" type="CustomActionSetting" />
            </xs:choice>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Common">
        <xs:sequence>
            <xs:element name="Name" type="xs:string" />
            <xs:element name="ID" type="IDString" />
            <xs:element name="ReplacedTemplates" type="ReplacedTemplates" minOccurs="0" />
            <xs:element name="Description" type="xs:string" minOccurs="0" />
            <xs:element name="LocalizedNames" type="LocalizedName" minOccurs="0" />
            <xs:element name="LocalizedDescriptions" type="LocalizedDescription" minOccurs="0" />
            <xs:element name="Version" type="xs:integer" />
            <xs:element name="DeferToMSAccount" type="Empty"  minOccurs="0" />
            <xs:element name="DeferToOffice365" type="Empty" minOccurs="0" />
            <xs:element name="Settings" type="Settings" />
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Application">
        <xs:sequence>
            <xs:element name="Name" type="xs:string" />
            <xs:element name="ID" type="IDString" />
            <xs:element name="ReplacedTemplates" type="ReplacedTemplates" minOccurs="0" />
            <xs:element name="Description" type="xs:string" minOccurs="0" />
            <xs:element name="LocalizedNames" type="LocalizedName" minOccurs="0" />
            <xs:element name="LocalizedDescriptions" type="LocalizedDescription" minOccurs="0" />
            <xs:element name="Version" type="xs:integer" />
            <xs:element name="DeferToMSAccount" type="Empty"  minOccurs="0" />
            <xs:element name="DeferToOffice365" type="Empty" minOccurs="0" />
            <xs:element name="Processes" type="Processes" />
            <xs:element name="Settings" type="Settings" />
        </xs:sequence>
    </xs:complexType>

    <xs:element name="SettingsLocationTemplate">
        <xs:complexType>
            <xs:sequence>

                <xs:element name="Name" type="xs:string" />
                <xs:element name="ID" type="IDString" />
                <xs:element name="Description" type="xs:string" minOccurs="0" />
                <xs:element name="LocalizedNames" type="LocalizedName" minOccurs="0" />
                <xs:element name="LocalizedDescriptions" type="LocalizedDescription" minOccurs="0" />

                <xs:choice>

                    <!-- Single application -->
                    <xs:sequence>
                        <xs:element name="ReplacedTemplates" type="ReplacedTemplates" minOccurs="0" />
                        <xs:element name="Version" type="TemplateVersion" />
                        <xs:element name="Author" type="Author" minOccurs="0" />
                        <xs:element name="FixedProfile" type="xs:string"  minOccurs="0" />
                        <xs:element name="DeferToMSAccount" type="Empty"  minOccurs="0" />
                        <xs:element name="DeferToOffice365" type="Empty" minOccurs="0" />
                        <xs:element name="Processes" type="Processes" />
                        <xs:element name="Settings" type="Settings" />
                    </xs:sequence>

                    <!-- Suite of applications -->
                    <xs:sequence>
                        <xs:element name="ManageSuiteOnly" type="xs:boolean" minOccurs="0" />
                        <xs:element name="Author" type="Author" minOccurs="0" />
                        <xs:element name="FixedProfile" type="xs:string"  minOccurs="0" />
                        <xs:element name="Common" type="Common" />
                        <xs:element name="Application" type="Application" minOccurs="2" maxOccurs="unbounded" />
                    </xs:sequence>

                </xs:choice>

            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <!-- SettingsLocationTemplate -->

</xs:schema>

カスタム UE-V テンプレートと UE-V テンプレート ジェネレーターの操作UE-V テクニカル リファレンス