Share via


Anwendungsvorlagenschemareferenz für UE-V 2.x

Microsoft User Experience Virtualization (UE-V) 2.0, 2.1 und 2.1 SP1 verwenden XML-Einstellungsspeicherortvorlagen, um die Desktopanwendungs- und Windows-Einstellungen zu definieren, die von UE-V erfasst und angewendet werden. UE-V enthält eine Reihe von Standardeinstellungsspeicherortvorlagen. Sie können auch mit dem UE-V-Generator benutzerdefinierte Einstellungsspeicherortvorlagen erstellen.

Ein erweiterter Benutzer kann die XML-Datei für eine Einstellungsspeicherortvorlage anpassen. In diesem Thema wird die XML-Struktur der UE-V 2.1 (SP1) und 2.0-Einstellungsspeicherortvorlagen beschrieben und anleitungen zum Bearbeiten dieser Dateien bereitgestellt.

Referenz zum Anwendungsvorlagenschema für UE-V 2.1 und 2.1 SP1

In diesem Abschnitt wird die XML-Struktur der UE-V 2.1- und 2.1 SP1-Einstellungsspeicherortvorlage beschrieben und anleitungen zum Bearbeiten dieser Datei bereitgestellt.

Inhalt dieses Abschnitts

XML-Deklarations- und Codierungsattribut

Obligatorisch: True

Typ: Zeichenfolge

Die XML-Deklaration muss das XML Version 1.0-Attribut (<?xml version="1.0"> ) angeben. Einstellungsspeicherortvorlagen, die vom UE-V-Generator erstellt wurden, werden in UTF-8-Codierung gespeichert, obwohl die Codierung nicht explizit angegeben ist. Als bewährte Methode wird empfohlen, das Attribut encoding="UTF-8" in dieses Element aufzunehmen. Alle im Produkt enthaltenen Vorlagen geben auch dieses Tag an (weitere Informationen finden Sie in den Dokumenten in %ProgramFiles%\Microsoft User Experience Virtualization\Templates). Zum Beispiel:

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

Namespace und Stammelement

Obligatorisch: True

Typ: Zeichenfolge

UE-V verwendet den https://schemas.microsoft.com/UserExperienceVirtualization/2012/SettingsLocationTemplate Namespace für alle Anwendungen. SettingsLocationTemplate ist das Stammelement und enthält alle anderen Elemente. Referenz SettingsLocationTemplate in allen Vorlagen, die dieses Tag verwenden:

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

Datentypen

Dies sind die Datentypen für das UE-V-Anwendungsvorlagenschema.

GUID GUID beschreibt einen standardmäßigen global eindeutigen regulären Bezeichnerausdruck im Format "\{[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}\}". Dies wird im Filesetting\Root\KnownFolder-Element verwendet, um die Formatierung bekannter Ordner zu überprüfen.

FilenameString FilenameString bezieht sich auf den Dateinamen eines zu überwachenden Prozesses. Seine Werte werden durch den RegEx [^\\\\?\*\|<> eingeschränkt./:]+, (das heißt, sie dürfen keine umgekehrten Schrägstriche, Sternchen oder Fragezeichen Karte, das Pipezeichen, das Zeichen größer als oder kleiner als, Schrägstrich oder Doppelpunkt enthalten).

IDString IDString bezieht sich auf den ID-Wert von Application-Elementen, SettingsLocationTemplate und Common-Elementen (die zum Beschreiben von Anwendungssammlungen mit gemeinsamen Einstellungen verwendet werden). Es ist durch denselben regex eingeschränkt wie FilenameString ([^\\\?\*\|<>/:]+).

TemplateVersion TemplateVersion ist ein ganzzahliger Wert, der verwendet wird, um die Überarbeitung der Einstellungsspeicherortvorlage zu beschreiben. Sein Wert kann zwischen 0 und 2147483647 liegen.

Leer Leer bezieht sich auf einen NULL-Wert. Dies wird in Process\ShellProcess verwendet, um anzugeben, dass kein Prozess zu überwachen ist. Dieser Wert sollte nicht in Anwendungsvorlagen verwendet werden.

Autor Der Datentyp Author ist ein komplexer Typ, der den Autor einer Vorlage identifiziert. Sie enthält zwei untergeordnete Elemente: Name und Email. Innerhalb des Author-Datentyps ist das Name-Element obligatorisch, während das element Email optional ist. Dieser Typ wird unter dem SettingsLocationTemplate-Element ausführlicher beschrieben.

Bereich Range definiert eine ganzzahlige Klasse, die aus zwei untergeordneten Elementen besteht: Minimum und Maximum. Dieser Datentyp wird im Datentyp ProcessVersion implementiert. Falls angegeben, müssen sowohl minimum- als auch maximum-Werte eingeschlossen werden.

ProcessVersion ProcessVersion definiert einen Typ mit vier untergeordneten Elementen: Hauptelement, Nebenversion, Build und Patch. Dieser Datentyp wird vom Process-Element verwendet, um seine ProductVersion- und FileVersion-Werte aufzufüllen. Die Daten für diesen Typ sind ein Range-Wert. Das untergeordnete Major-Element ist obligatorisch, und die anderen sind optional.

Architektur Architektur listet zwei mögliche Werte auf: Win32 und Win64. Diese Werte werden verwendet, um die Prozessarchitektur anzugeben.

Prozess Der Datentyp Process ist ein Container, der zum Beschreiben von Prozessen verwendet wird, die von UE-V überwacht werden sollen. Sie enthält sechs untergeordnete Elemente: Filename, Architecture, ProductName, FileDescription, ProductVersion und FileVersion. In dieser Tabelle wird der jeweilige Datentyp jedes Elements ausführlich beschrieben:

Element

Datentyp

Mandatory

Dateiname

FilenameString

Wahr

Architecture

Architecture

False

ProductName

Zeichenfolge

False

FileDescription

Zeichenfolge

False

Productversion

ProcessVersion

False

FileVersion

ProcessVersion

False

Prozesse Der Datentyp Processes stellt einen Container für eine Auflistung von einem oder mehreren Process-Elementen dar. Zwei untergeordnete Elemente werden im Sequenztyp Prozesse unterstützt: Process und ShellProcess. Process ist ein Element vom Typ Process, und ShellProcess ist vom Datentyp Empty. In der Sequenz muss mindestens ein Element identifiziert werden.

Pfad Pfad wird von RegistrySetting und FileSetting verwendet, um auf Registrierungs- und Dateipfade zu verweisen. Dieses Element unterstützt zwei optionale Attribute: Recursive und DeleteIfNotFound. Beide Werte sind auf default="False" festgelegt.

Rekursiv gibt an, dass der Pfad und alle Unterordner für Dateieinstellungen enthalten sind oder dass alle untergeordneten Registrierungsschlüssel für Registrierungseinstellungen enthalten sind. In beiden Fällen sind alle Elemente auf der aktuellen Ebene in den erfassten Daten enthalten. Bei einem FileSettings-Objekt sind alle Dateien innerhalb des angegebenen Ordners in den von UE-V erfassten Daten enthalten, die Ordner sind jedoch nicht enthalten. Für Registrierungspfade werden alle Werte im aktuellen Pfad erfasst, aber untergeordnete Registrierungsschlüssel werden nicht erfasst. In beiden Fällen sollte darauf geachtet werden, dass keine großen Datasets oder eine große Anzahl von Elementen erfasst werden.

Das DeleteIfNotFound-Attribut entfernt die Einstellung aus den Speicherpfaddaten des Benutzers für Einstellungen. Dies kann in Fällen wünschenswert sein, in denen das Entfernen dieser Einstellungen aus dem Paket viel Speicherplatz auf dem Dateiserver des Speicherpfads für Einstellungen spart.

FileMask FileMask gibt nur bestimmte Dateitypen für den Ordner an, der durch Path definiert wird. Path kann z. B. lauten C:\users\username\files , und FileMask könnte sein *.txt , um nur Textdateien einzuschließen.

RegistrySetting RegistrySetting stellt einen Container für Registrierungsschlüssel und -werte und das zugehörige gewünschte Verhalten des UE-V-Agents dar. In diesem Typ werden vier untergeordnete Elemente definiert: Path, Name, Exclude und eine Sequenz der Werte Path und Name.

FileSetting FileSetting enthält Parameter, die Dateien und Dateipfaden zugeordnet sind. Vier untergeordnete Elemente sind definiert: Root, Path, FileMask und Exclude. Root ist obligatorisch, und die anderen sind optional.

Einstellungen Settings ist ein Container für alle Einstellungen, die für eine bestimmte Vorlage gelten. Sie enthält Instanzen der zuvor beschriebenen Einstellungen Registry, File, SystemParameter und CustomAction. Darüber hinaus kann sie auch die folgenden untergeordneten Elemente mit beschriebenen Verhaltensweisen enthalten:

Element

Beschreibung

Asynchrone

Asynchrone Einstellungspakete werden angewendet, ohne den Anwendungsstart zu blockieren, sodass der Anwendungsstart fortgesetzt wird, während die Einstellungen noch angewendet werden. Dies ist nützlich für Einstellungen, die asynchron angewendet werden können, z get/set . B. über eine API wie SystemParameterSetting.

PreventOverlappingSynchronization

Standardmäßig speichert UE-V Einstellungen für eine Anwendung nur, wenn die letzte instance einer Anwendung, die die Vorlage verwendet, geschlossen wird. Wenn dieses Element auf "false" festgelegt ist, exportiert UE-V die Einstellungen auch dann, wenn andere Instanzen einer Anwendung ausgeführt werden. Geeignete Vorlagen , die einen Allgemeinen Elementabschnitt enthalten, die mit UE-V ausgeliefert werden, verwenden dieses Flag, um freigegebene Einstellungen immer beim Schließen der Anwendung zu exportieren, während anwendungsspezifische Einstellungen nicht exportiert werden können, bis die letzte instance geschlossen wird.

AlwaysApplySettings

(eingeführt in Version 2.1)

Dieser Parameter erzwingt, dass ein importiertes Einstellungspaket angewendet wird, auch wenn es keine Unterschiede zwischen dem Paket und dem aktuellen Zustand der Anwendung gibt. Dieser Parameter sollte nur in besonderen Fällen verwendet werden, da er den Import von Einstellungen verlangsamen kann.

Name-Element

Obligatorisch: True

Typ: Zeichenfolge

Name gibt einen eindeutigen Namen für die Einstellungsspeicherortvorlage an. Dies wird zu Anzeigezwecken verwendet, wenn auf die Vorlage in WMI, PowerShell, Ereignisanzeige und Debugprotokollen verwiesen wird. Vermeiden Sie im Allgemeinen den Verweis auf Versionsinformationen, da dies über das ProductVersion-Element widersprochen werden kann. Geben Sie beispielsweise anstelle von <Name>My Application 1.1</Name>an<Name>My Application</Name>.

Hinweis UE-V verweist nicht auf externe DTDs, sodass es nicht möglich ist, benannte Entitäten in einer Einstellungsspeicherortvorlage zu verwenden. Verwenden Sie ® beispielsweise nicht , um auf das eingetragene Markenzeichen ® zu verweisen. Verwenden Sie stattdessen kanonische nummerierte Verweise, um diese Typen von Sonderzeichen einzuschließen, z. B. ® für das ® Zeichen. Diese Regel gilt für alle Zeichenfolgenwerte in diesem Dokument.

Eine vollständige Liste der Zeichenentitäten finden Sie http://www.w3.org/TR/xhtml1/dtds.html unter. UTF-8-codierte Dokumente können die Unicode-Zeichen direkt enthalten. Beim Speichern von Vorlagen über den UE-V-Generator werden Zeichenentitäten automatisch in ihre Unicode-Darstellungen konvertiert.

ID-Element

Obligatorisch: True

Typ: Zeichenfolge

ID füllt einen eindeutigen Bezeichner für eine bestimmte Vorlage auf. Dieses Tag wird zum primären Bezeichner, den der UE-V-Agent verwendet, um zur Laufzeit auf die Vorlage zu verweisen (siehe z. B. die Ausgabe der Get-UevTemplate und Get-UevTemplateProgram PowerShell-Cmdlets). Standardmäßig darf dieses Tag keine Leerzeichen enthalten, was die Skripterstellung vereinfacht. Versionsnummern von Anwendungen sollten in diesem Element angegeben werden, um eine einfache Identifizierung der Vorlage zu ermöglichen, z <ID>MicrosoftCalculator6</ID> . B. oder <ID>MicrosoftOffice2010Win64</ID>.

Version-Element

Obligatorisch: True

Typ: Integer

Mindestwert: 0

Maximalwert: 2147483647

Version gibt die Version der Einstellungsspeicherortvorlage für die administrative Nachverfolgung von Änderungen an. Der UE-V-Generator erhöht diese Zahl automatisch um 1, wenn die Vorlage gespeichert wird. Beachten Sie, dass dieses Feld eine ganze Zahl sein muss. Bruchwerte wie <Version>2.5</Version> sind nicht zulässig.

Hinweis: Sie können Notizen zu Versionsänderungen mithilfe von XML-Kommentartags <!-- -->speichern, z. B.:

  <!--
     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>

Wichtig Dieser Wert wird abgefragt, um zu bestimmen, ob eine neue Version einer Vorlage auf eine vorhandene Vorlage in diesen Instanzen angewendet werden soll:

  • Wenn der Task "Automatische Vorlagenaktualisierung" ausgeführt wird

  • Wenn das Update-UevTemplate PowerShell-Cmdlet ausgeführt wird

  • Wenn die microsoft\uev:SettingsLocationTemplate Update-Methode über WMI aufgerufen wird

Author-Element

Obligatorisch: False

Typ: Zeichenfolge

Autor identifiziert den Ersteller der Einstellungsspeicherortvorlage. Zwei optionale untergeordnete Elemente werden unterstützt: Name und Email. Beide Attribute sind optional, aber wenn das Email untergeordnete Element angegeben ist, muss es vom Name-Element begleitet werden. Autor bezieht sich auf den vollständigen Namen des Kontakts für die Einstellungsspeicherortvorlage, und E-Mail sollte auf eine E-Mail-Adresse für den Autor verweisen. Es wird empfohlen, diese Informationen in Vorlagen aufzunehmen, die öffentlich veröffentlicht werden, z. B. im UE-V-Vorlagenkatalog.

Prozesse und Prozesselement

Obligatorisch: True

Typ: Element

Prozesse enthält mindestens ein <Process> Element, das wiederum die folgenden untergeordneten Elemente enthält: Filename, Architecture, ProductName, FileDescription, ProductVersion und FileVersion. Das untergeordnete Filename-Element ist obligatorisch, und die anderen elemente sind optional. Ein vollständig aufgefülltes Element enthält Tags wie in diesem Beispiel:

<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>

Dateiname

Obligatorisch: True

Typ: Zeichenfolge

Filename bezieht sich auf den tatsächlichen Dateinamen der ausführbaren Datei, wie er im Dateisystem angezeigt wird. Dieses Element gibt das primäre Kriterium an, das UE-V verwendet, um zu bewerten, ob eine Vorlage für einen Prozess gilt oder nicht. Dieses Element muss im XML-Code der Einstellungsspeicherortvorlage angegeben werden.

Gültige Dateinamen dürfen nicht mit dem regulären Ausdruck [^\\\?\*\|<> übereinstimmen./:]+, d. h. sie dürfen keine umgekehrten Schrägstriche, Sternchen oder Fragezeichen Karte, das Pipezeichen, das Zeichen größer als oder kleiner als, Schrägstrich oder Doppelpunkt (die Zeichen \ ? * | <> / oder : ) enthalten.

Hinweis: Um eine Zeichenfolge mit diesem regex zu testen, verwenden Sie ein PowerShell-Befehlsfenster, und ersetzen Sie den Namen Ihrer ausführbaren Datei durch YourFileName:

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

Der Wert True gibt an, dass die Zeichenfolge unzulässige Zeichen enthält. Hier sind einige Beispiele für unzulässige Werte:

  • \\server\share\program.exe

  • Programm*.exe

  • Pro?ram.exe

  • Programm<1>.exe

Hinweis Der UE-V-Generator codiert die Zeichen > größer als bzw. kleiner als als bzw < . .

In seltenen Fällen enthält der FileName-Wert nicht unbedingt die .exe Erweiterung, sollte aber als Teil des Werts angegeben werden. Beispielsweise <Filename>MyApplictication.exe</Filename> sollte anstelle von <Filename>MyApplictication</Filename>angegeben werden. Im zweiten Beispiel wird die Vorlage nicht auf den Prozess angewendet, wenn der tatsächliche Name der ausführbaren Datei "MyApplication.exe" lautet.

Architecture

Obligatorisch: False

Typ: Architektur (Zeichenfolge)

Architektur bezieht sich auf die Prozessorarchitektur, für die die ausführbare Zieldatei kompiliert wurde. Gültige Werte sind Win32 für 32-Bit-Anwendungen oder Win64 für 64-Bit-Anwendungen. Falls vorhanden, beschränkt dieses Tag die Anwendbarkeit der Einstellungsspeicherortvorlage auf eine bestimmte Anwendungsarchitektur. Vergleichen Sie beispielsweise die MicrosoftOffice2010Win32.xml %ProgramFiles%\Microsoft User Experience Virtualization\templates\ und MicrosoftOffice2010Win64.xml dateien, die in UE-V enthalten sind. Dies ist nützlich, wenn sich relative Pfade zwischen verschiedenen Versionen einer ausführbaren Datei ändern oder wenn Einstellungen hinzugefügt oder entfernt wurden, wenn sie von einer Prozessorarchitektur zu einer anderen wechseln.

Wenn dieses Element nicht vorhanden ist, ignoriert die Einstellungsspeicherortvorlage die Architektur des Prozesses und gilt sowohl für 32- als auch für 64-Bit-Prozesse, wenn der Dateiname und andere Attribute zutreffen.

Hinweis UE-V unterstützt in dieser Version keine ARM-Prozessoren.

ProductName

Obligatorisch: False

Typ: Zeichenfolge

ProductName ist ein optionales Element, das verwendet wird, um ein Produkt für Administrative Zwecke oder Berichte zu identifizieren. ProductName unterscheidet sich von Filename darin, dass es keine Einschränkungen für reguläre Ausdrücke für den Wert gibt. Dies ermöglicht leichter verständliche Beschreibungen eines Prozesses, bei dem der Name der ausführbaren Datei möglicherweise nicht offensichtlich ist. Zum Beispiel:

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

FileDescription

Obligatorisch: False

Typ: Zeichenfolge

FileDescription ist ein optionales Tag, das eine administrative Beschreibung der ausführbaren Datei ermöglicht. Dies ist ein Freitextfeld und kann nützlich sein, um mehrere ausführbare Dateien innerhalb eines Softwarepakets zu unterscheiden, bei denen die Funktion der ausführbaren Datei identifiziert werden muss.

In einer geeigneten Anwendung kann es z. B. hilfreich sein, Erinnerungen zur Funktion von zwei ausführbaren Dateien (MyApplication.exe und MyApplicationHelper.exe) bereitzustellen, wie hier gezeigt:

<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

Obligatorisch: False

Typ: Zeichenfolge

ProductVersion bezieht sich auf die Haupt- und Nebenproduktversionen einer Datei sowie eine Build- und Patchebene. ProductVersion ist ein optionales Element, aber wenn angegeben, muss es mindestens das untergeordnete Major-Element enthalten. Der Wert muss einen Bereich im Format Minimum="X" Maximum="Y" ausdrücken, wobei X und Y ganze Zahlen sind. Die Werte Minimum und Maximum können identisch sein.

Die Produkt- und Dateiversionselemente werden möglicherweise nicht angegeben. Dadurch wird die Vorlage als "versionagnostisch" bezeichnet, was bedeutet, dass die Vorlage auf alle Versionen der angegebenen ausführbaren Datei angewendet wird.

Beispiel 1:

Produktversion: 1.0, die im UE-V-Generator angegeben ist, erzeugt den folgenden XML-Code:

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

Beispiel 2:

Dateiversion: 5.0.2.1000, die im UE-V-Generator angegeben ist, erzeugt den folgenden XML-Code:

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

Falsches Beispiel 1 – unvollständiger Bereich:

Es ist nur das Minimum-Attribut vorhanden. Maximum muss ebenfalls in einem Bereich enthalten sein.

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

Falsches Beispiel 2 – Nebenangabe ohne Hauptelement:

Nur das Nebenelement ist vorhanden. Hauptfach muss ebenfalls enthalten sein.

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

FileVersion

Obligatorisch: False

Typ: Zeichenfolge

FileVersion unterscheidet zwischen der Releaseversion einer veröffentlichten Anwendung und den internen Builddetails einer ausführbaren Komponente. Bei den meisten kommerziellen Anwendungen sind diese Nummern identisch. Wenn sie variieren, gibt die Produktversion einer Datei eine generische Versionsidentifikation einer Datei an, während die Dateiversion einen bestimmten Build einer Datei angibt (wie bei einem Hotfix oder Update). Dadurch werden Dateien eindeutig identifiziert, ohne die Erkennungslogik zu unterbrechen.

Um die Produktversion und Dateiversion einer bestimmten ausführbaren Datei zu ermitteln, klicken Sie mit der rechten Maustaste auf die Datei in Windows Explorer, wählen Sie Eigenschaften aus, und klicken Sie dann auf die Registerkarte Details.

Das Einschließen eines FileVersion-Elements für eine Anwendung ermöglicht eine präzisere Erkennungslogik, ist für die meisten Anwendungen jedoch nicht erforderlich. Die ProductVersion-Elementeinstellungen werden zuerst und dann FileVersion aktiviert. Die restriktivere Einstellung wird angewendet.

Die untergeordneten Elemente und Syntaxregeln für FileVersion sind mit denen von ProductVersion identisch.

<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

Die Anwendung ist ein Container für Einstellungen, die für eine bestimmte Anwendung gelten. Es handelt sich um eine Auflistung der folgenden Felder/Typen.

Feld/Typ

Beschreibung

Name

Gibt einen eindeutigen Namen für die Einstellungsspeicherortvorlage an. Dies wird zu Anzeigezwecken verwendet, wenn auf die Vorlage in WMI, PowerShell, Ereignisanzeige und Debugprotokollen verwiesen wird. Weitere Informationen finden Sie unter Name.

ID

Füllt einen eindeutigen Bezeichner für eine bestimmte Vorlage auf. Dieses Tag wird zum primären Bezeichner, den der UE-V-Agent verwendet, um zur Laufzeit auf die Vorlage zu verweisen. Weitere Informationen finden Sie unter ID.

Beschreibung

Eine optionale Beschreibung der Vorlage.

LocalizedNames

Ein optionaler Name, der auf der Benutzeroberfläche angezeigt wird, lokalisiert durch ein Sprachgebietsschema.

LocalizedDescriptions

Eine optionale Vorlagenbeschreibung, die durch ein Sprachgebietsschema lokalisiert wird.

Version

Gibt die Version der Einstellungsspeicherortvorlage für die administrative Nachverfolgung von Änderungen an. Weitere Informationen finden Sie unter Version.

DeferToMSAccount

Steuert, ob diese Vorlage in Verbindung mit einem Microsoft-Konto aktiviert ist oder nicht. Wenn die MSA-Synchronisierung für einen Benutzer auf einem Computer aktiviert ist, wird diese Vorlage automatisch deaktiviert.

DeferToOffice365

Ähnlich wie bei MSA steuert dies, ob diese Vorlage in Verbindung mit Office365 aktiviert ist. Wenn Office 365 zum Synchronisieren von Einstellungen verwendet wird, wird diese Vorlage automatisch deaktiviert.

FixedProfile (eingeführt in 2.1)

Gibt an, dass diese Vorlage nur dem in diesem Element angegebenen Profil zugeordnet und nicht über WMI oder PowerShell geändert werden kann.

Prozesse

Ein Container für eine Auflistung von einem oder mehreren Process-Elementen. Weitere Informationen finden Sie unter Prozesse.

Einstellungen

Ein Container für alle Einstellungen, die für eine bestimmte Vorlage gelten. Sie enthält Instanzen der Einstellungen Registry, File, SystemParameter und CustomAction. Weitere Informationen finden Sie unter Einstellungen in Datentypen.

Common-Element

Common ähnelt einem Application-Element, ist aber immer zwei oder mehr Application-Elementen zugeordnet. Der Abschnitt Allgemein stellt den Satz von Einstellungen dar, die von diesen Anwendungsinstanzen gemeinsam verwendet werden. Es handelt sich um eine Auflistung der folgenden Felder/Typen.

Feld/Typ

Beschreibung

Name

Gibt einen eindeutigen Namen für die Einstellungsspeicherortvorlage an. Dies wird zu Anzeigezwecken verwendet, wenn auf die Vorlage in WMI, PowerShell, Ereignisanzeige und Debugprotokollen verwiesen wird. Weitere Informationen finden Sie unter Name.

ID

Füllt einen eindeutigen Bezeichner für eine bestimmte Vorlage auf. Dieses Tag wird zum primären Bezeichner, den der UE-V-Agent verwendet, um zur Laufzeit auf die Vorlage zu verweisen. Weitere Informationen finden Sie unter ID.

Beschreibung

Eine optionale Beschreibung der Vorlage.

LocalizedNames

Ein optionaler Name, der auf der Benutzeroberfläche angezeigt wird, lokalisiert durch ein Sprachgebietsschema.

LocalizedDescriptions

Eine optionale Vorlagenbeschreibung, die durch ein Sprachgebietsschema lokalisiert wird.

Version

Gibt die Version der Einstellungsspeicherortvorlage für die administrative Nachverfolgung von Änderungen an. Weitere Informationen finden Sie unter Version.

DeferToMSAccount

Steuert, ob diese Vorlage in Verbindung mit einem Microsoft-Konto aktiviert ist oder nicht. Wenn die MSA-Synchronisierung für einen Benutzer auf einem Computer aktiviert ist, wird diese Vorlage automatisch deaktiviert.

DeferToOffice365

Ähnlich wie bei MSA steuert dies, ob diese Vorlage in Verbindung mit Office365 aktiviert ist. Wenn Office 365 zum Synchronisieren von Einstellungen verwendet wird, wird diese Vorlage automatisch deaktiviert.

FixedProfile (eingeführt in 2.1)

Gibt an, dass diese Vorlage nur dem in diesem Element angegebenen Profil zugeordnet und nicht über WMI oder PowerShell geändert werden kann.

Einstellungen

Ein Container für alle Einstellungen, die für eine bestimmte Vorlage gelten. Sie enthält Instanzen der Einstellungen Registry, File, SystemParameter und CustomAction. Weitere Informationen finden Sie unter Einstellungen in Datentypen.

SettingsLocationTemplate-Element

Dieses Element definiert die Einstellungen für eine einzelne Anwendung oder eine Suite von Anwendungen.

Feld/Typ

Beschreibung

Name

Gibt einen eindeutigen Namen für die Einstellungsspeicherortvorlage an. Dies wird zu Anzeigezwecken verwendet, wenn auf die Vorlage in WMI, PowerShell, Ereignisanzeige und Debugprotokollen verwiesen wird. Weitere Informationen finden Sie unter Name.

ID

Füllt einen eindeutigen Bezeichner für eine bestimmte Vorlage auf. Dieses Tag wird zum primären Bezeichner, den der UE-V-Agent verwendet, um zur Laufzeit auf die Vorlage zu verweisen. Weitere Informationen finden Sie unter ID.

Beschreibung

Eine optionale Beschreibung der Vorlage.

LocalizedNames

Ein optionaler Name, der auf der Benutzeroberfläche angezeigt wird, lokalisiert durch ein Sprachgebietsschema.

LocalizedDescriptions

Eine optionale Vorlagenbeschreibung, die durch ein Sprachgebietsschema lokalisiert wird.

Anhang: SettingsLocationTemplate.xsd

Hier sehen Sie die Datei SettingsLocationTemplate.xsd mit ihren Elementen, untergeordneten Elementen, Attributen und Parametern:

<?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>

Referenz zum UE-V 2.0-Anwendungsvorlagenschema

In diesem Abschnitt wird die XML-Struktur der Vorlage für den UE-V 2.0-Einstellungsspeicherort erläutert und anleitungen zum Bearbeiten dieser Datei bereitgestellt.

Inhalt dieses Abschnitts

XML-Deklarations- und Codierungsattribut

Obligatorisch: True

Typ: Zeichenfolge

Die XML-Deklaration muss das XML Version 1.0-Attribut (<?xml version="1.0"> ) angeben. Einstellungsspeicherortvorlagen, die vom UE-V-Generator erstellt wurden, werden in UTF-8-Codierung gespeichert, obwohl die Codierung nicht explizit angegeben ist. Als bewährte Methode wird empfohlen, das Attribut encoding="UTF-8" in dieses Element aufzunehmen. Alle im Produkt enthaltenen Vorlagen geben auch dieses Tag an (weitere Informationen finden Sie in den Dokumenten in %ProgramFiles%\Microsoft User Experience Virtualization\Templates). Zum Beispiel:

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

Namespace und Stammelement

Obligatorisch: True

Typ: Zeichenfolge

UE-V verwendet den https://schemas.microsoft.com/UserExperienceVirtualization/2012/SettingsLocationTemplate Namespace für alle Anwendungen. SettingsLocationTemplate ist das Stammelement und enthält alle anderen Elemente. Referenz SettingsLocationTemplate in allen Vorlagen, die dieses Tag verwenden:

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

Datentypen

Dies sind die Datentypen für das UE-V-Anwendungsvorlagenschema.

GUID GUID beschreibt einen standardmäßigen global eindeutigen regulären Bezeichnerausdruck im Format "\{[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}\}". Dies wird im Filesetting\Root\KnownFolder-Element verwendet, um die Formatierung bekannter Ordner zu überprüfen.

FilenameString FilenameString bezieht sich auf den Dateinamen eines zu überwachenden Prozesses. Seine Werte werden durch den RegEx [^\\\\?\*\|<> eingeschränkt./:]+, (das heißt, sie dürfen keine umgekehrten Schrägstriche, Sternchen oder Fragezeichen Karte, das Pipezeichen, das Zeichen größer als oder kleiner als, Schrägstrich oder Doppelpunkt enthalten).

IDString IDString bezieht sich auf den ID-Wert von Application-Elementen, SettingsLocationTemplate und Common-Elementen (die zum Beschreiben von Anwendungssammlungen mit gemeinsamen Einstellungen verwendet werden). Es ist durch denselben regex eingeschränkt wie FilenameString ([^\\\?\*\|<>/:]+).

TemplateVersion TemplateVersion ist ein ganzzahliger Wert, der verwendet wird, um die Überarbeitung der Einstellungsspeicherortvorlage zu beschreiben. Sein Wert kann zwischen 0 und 2147483647 liegen.

Leer Leer bezieht sich auf einen NULL-Wert. Dies wird in Process\ShellProcess verwendet, um anzugeben, dass kein Prozess zu überwachen ist. Dieser Wert sollte nicht in Anwendungsvorlagen verwendet werden.

Autor Der Datentyp Author ist ein komplexer Typ, der den Autor einer Vorlage identifiziert. Sie enthält zwei untergeordnete Elemente: Name und Email. Innerhalb des Author-Datentyps ist das Name-Element obligatorisch, während das element Email optional ist. Dieser Typ wird unter dem SettingsLocationTemplate-Element ausführlicher beschrieben.

Bereich Range definiert eine ganzzahlige Klasse, die aus zwei untergeordneten Elementen besteht: Minimum und Maximum. Dieser Datentyp wird im Datentyp ProcessVersion implementiert. Falls angegeben, müssen sowohl minimum- als auch maximum-Werte eingeschlossen werden.

ProcessVersion ProcessVersion definiert einen Typ mit vier untergeordneten Elementen: Hauptelement, Nebenversion, Build und Patch. Dieser Datentyp wird vom Process-Element verwendet, um seine ProductVersion- und FileVersion-Werte aufzufüllen. Die Daten für diesen Typ sind ein Range-Wert. Das untergeordnete Major-Element ist obligatorisch, und die anderen sind optional.

Architektur Architektur listet zwei mögliche Werte auf: Win32 und Win64. Diese Werte werden verwendet, um die Prozessarchitektur anzugeben.

Prozess Der Datentyp Process ist ein Container, der zum Beschreiben von Prozessen verwendet wird, die von UE-V überwacht werden sollen. Sie enthält sechs untergeordnete Elemente: Filename, Architecture, ProductName, FileDescription, ProductVersion und FileVersion. In dieser Tabelle wird der jeweilige Datentyp jedes Elements ausführlich beschrieben:

Element Datentyp Mandatory

Dateiname

FilenameString

Wahr

Architecture

Architecture

False

ProductName

Zeichenfolge

False

FileDescription

Zeichenfolge

False

Productversion

ProcessVersion

False

FileVersion

ProcessVersion

False

Prozesse Der Datentyp Processes stellt einen Container für eine Auflistung von einem oder mehreren Process-Elementen dar. Zwei untergeordnete Elemente werden im Sequenztyp Prozesse unterstützt: Process und ShellProcess. Process ist ein Element vom Typ Process, und ShellProcess ist vom Datentyp Empty. In der Sequenz muss mindestens ein Element identifiziert werden.

Pfad Pfad wird von RegistrySetting und FileSetting verwendet, um auf Registrierungs- und Dateipfade zu verweisen. Dieses Element unterstützt zwei optionale Attribute: Recursive und DeleteIfNotFound. Beide Werte sind auf default="False" festgelegt.

Rekursiv gibt an, dass der Pfad und alle Unterordner für Dateieinstellungen enthalten sind oder dass alle untergeordneten Registrierungsschlüssel für Registrierungseinstellungen enthalten sind. In beiden Fällen sind alle Elemente auf der aktuellen Ebene in den erfassten Daten enthalten. Bei einem FileSettings-Objekt sind alle Dateien innerhalb des angegebenen Ordners in den von UE-V erfassten Daten enthalten, die Ordner sind jedoch nicht enthalten. Für Registrierungspfade werden alle Werte im aktuellen Pfad erfasst, aber untergeordnete Registrierungsschlüssel werden nicht erfasst. In beiden Fällen sollte darauf geachtet werden, dass keine großen Datasets oder eine große Anzahl von Elementen erfasst werden.

Das DeleteIfNotFound-Attribut entfernt die Einstellung aus den Speicherpfaddaten des Benutzers für Einstellungen. Dies kann in Fällen wünschenswert sein, in denen das Entfernen dieser Einstellungen aus dem Paket viel Speicherplatz auf dem Dateiserver des Speicherpfads für Einstellungen spart.

FileMask FileMask gibt nur bestimmte Dateitypen für den Ordner an, der durch Path definiert wird. Path kann z. B. lauten C:\users\username\files , und FileMask könnte sein *.txt , um nur Textdateien einzuschließen.

RegistrySetting RegistrySetting stellt einen Container für Registrierungsschlüssel und -werte und das zugehörige gewünschte Verhalten des UE-V-Agents dar. In diesem Typ werden vier untergeordnete Elemente definiert: Path, Name, Exclude und eine Sequenz der Werte Path und Name.

FileSetting FileSetting enthält Parameter, die Dateien und Dateipfaden zugeordnet sind. Vier untergeordnete Elemente sind definiert: Root, Path, FileMask und Exclude. Root ist obligatorisch, und die anderen sind optional.

Einstellungen Settings ist ein Container für alle Einstellungen, die für eine bestimmte Vorlage gelten. Sie enthält Instanzen der zuvor beschriebenen Einstellungen Registry, File, SystemParameter und CustomAction. Darüber hinaus kann sie auch die folgenden untergeordneten Elemente mit beschriebenen Verhaltensweisen enthalten:

Element Beschreibung

Asynchrone

Asynchrone Einstellungspakete werden angewendet, ohne den Anwendungsstart zu blockieren, sodass der Anwendungsstart fortgesetzt wird, während die Einstellungen noch angewendet werden. Dies ist nützlich für Einstellungen, die asynchron angewendet werden können, z get/set . B. über eine API wie SystemParameterSetting.

PreventOverlappingSynchronization

Standardmäßig speichert UE-V Einstellungen für eine Anwendung nur, wenn die letzte instance einer Anwendung, die die Vorlage verwendet, geschlossen wird. Wenn dieses Element auf "false" festgelegt ist, exportiert UE-V die Einstellungen auch dann, wenn andere Instanzen einer Anwendung ausgeführt werden. Geeignete Vorlagen , die einen Allgemeinen Elementabschnitt enthalten, die mit UE-V ausgeliefert werden, verwenden dieses Flag, um freigegebene Einstellungen immer beim Schließen der Anwendung zu exportieren, während anwendungsspezifische Einstellungen nicht exportiert werden können, bis die letzte instance geschlossen wird.

Name-Element

Obligatorisch: True

Typ: Zeichenfolge

Name gibt einen eindeutigen Namen für die Einstellungsspeicherortvorlage an. Dies wird zu Anzeigezwecken verwendet, wenn auf die Vorlage in WMI, PowerShell, Ereignisanzeige und Debugprotokollen verwiesen wird. Vermeiden Sie im Allgemeinen den Verweis auf Versionsinformationen, da dies über das ProductVersion-Element widersprochen werden kann. Geben Sie beispielsweise anstelle von <Name>My Application 1.1</Name>an<Name>My Application</Name>.

Hinweis UE-V verweist nicht auf externe DTDs, sodass es nicht möglich ist, benannte Entitäten in einer Einstellungsspeicherortvorlage zu verwenden. Verwenden Sie ® beispielsweise nicht , um auf das eingetragene Markenzeichen ® zu verweisen. Verwenden Sie stattdessen kanonische nummerierte Verweise, um diese Typen von Sonderzeichen einzuschließen, z. B. ® für das ® Zeichen. Diese Regel gilt für alle Zeichenfolgenwerte in diesem Dokument.

Eine vollständige Liste der Zeichenentitäten finden Sie http://www.w3.org/TR/xhtml1/dtds.html unter. UTF-8-codierte Dokumente können die Unicode-Zeichen direkt enthalten. Beim Speichern von Vorlagen über den UE-V-Generator werden Zeichenentitäten automatisch in ihre Unicode-Darstellungen konvertiert.

ID-Element

Obligatorisch: True

Typ: Zeichenfolge

ID füllt einen eindeutigen Bezeichner für eine bestimmte Vorlage auf. Dieses Tag wird zum primären Bezeichner, den der UE-V-Agent verwendet, um zur Laufzeit auf die Vorlage zu verweisen (siehe z. B. die Ausgabe der Get-UevTemplate und Get-UevTemplateProgram PowerShell-Cmdlets). Standardmäßig darf dieses Tag keine Leerzeichen enthalten, was die Skripterstellung vereinfacht. Versionsnummern von Anwendungen sollten in diesem Element angegeben werden, um eine einfache Identifizierung der Vorlage zu ermöglichen, z <ID>MicrosoftCalculator6</ID> . B. oder <ID>MicrosoftOffice2010Win64</ID>.

Version-Element

Obligatorisch: True

Typ: Integer

Mindestwert: 0

Maximalwert: 2147483647

Version gibt die Version der Einstellungsspeicherortvorlage für die administrative Nachverfolgung von Änderungen an. Der UE-V-Generator erhöht diese Zahl automatisch um 1, wenn die Vorlage gespeichert wird. Beachten Sie, dass dieses Feld eine ganze Zahl sein muss. Bruchwerte wie <Version>2.5</Version> sind nicht zulässig.

Hinweis: Sie können Notizen zu Versionsänderungen mithilfe von XML-Kommentartags <!-- -->speichern, z. B.:

<!--
    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>

Wichtig Dieser Wert wird abgefragt, um zu bestimmen, ob eine neue Version einer Vorlage auf eine vorhandene Vorlage in diesen Instanzen angewendet werden soll:

  • Wenn der Task "Automatische Vorlagenaktualisierung" ausgeführt wird

  • Wenn das Update-UevTemplate PowerShell-Cmdlet ausgeführt wird

  • Wenn die microsoft\uev:SettingsLocationTemplate Update-Methode über WMI aufgerufen wird

Author-Element

Obligatorisch: False

Typ: Zeichenfolge

Autor identifiziert den Ersteller der Einstellungsspeicherortvorlage. Zwei optionale untergeordnete Elemente werden unterstützt: Name und Email. Beide Attribute sind optional, aber wenn das Email untergeordnete Element angegeben ist, muss es vom Name-Element begleitet werden. Autor bezieht sich auf den vollständigen Namen des Kontakts für die Einstellungsspeicherortvorlage, und E-Mail sollte auf eine E-Mail-Adresse für den Autor verweisen. Es wird empfohlen, diese Informationen in Vorlagen aufzunehmen, die öffentlich veröffentlicht werden, z. B. im UE-V-Vorlagenkatalog.

Prozesse und Prozesselement

Obligatorisch: True

Typ: Element

Prozesse enthält mindestens ein <Process> Element, das wiederum die folgenden untergeordneten Elemente enthält: Filename, Architecture, ProductName, FileDescription, ProductVersion und FileVersion. Das untergeordnete Filename-Element ist obligatorisch, und die anderen elemente sind optional. Ein vollständig aufgefülltes Element enthält Tags wie in diesem Beispiel:

<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>

Dateiname

Obligatorisch: True

Typ: Zeichenfolge

Filename bezieht sich auf den tatsächlichen Dateinamen der ausführbaren Datei, wie er im Dateisystem angezeigt wird. Dieses Element gibt das primäre Kriterium an, das UE-V verwendet, um zu bewerten, ob eine Vorlage für einen Prozess gilt oder nicht. Dieses Element muss im XML-Code der Einstellungsspeicherortvorlage angegeben werden.

Gültige Dateinamen dürfen nicht mit dem regulären Ausdruck [^\\\?\*\|<> übereinstimmen./:]+, d. h. sie dürfen keine umgekehrten Schrägstriche, Sternchen oder Fragezeichen Karte, das Pipezeichen, das Zeichen größer als oder kleiner als, Schrägstrich oder Doppelpunkt (die Zeichen \ ? * | <> / oder : ) enthalten.

Hinweis: Um eine Zeichenfolge mit diesem regex zu testen, verwenden Sie ein PowerShell-Befehlsfenster, und ersetzen Sie den Namen Ihrer ausführbaren Datei durch YourFileName:

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

Der Wert True gibt an, dass die Zeichenfolge unzulässige Zeichen enthält. Hier sind einige Beispiele für unzulässige Werte:

  • \\server\share\program.exe

  • Programm*.exe

  • Pro?ram.exe

  • Programm<1>.exe

Hinweis Der UE-V-Generator codiert die Zeichen > größer als bzw. kleiner als als bzw < . .

In seltenen Fällen enthält der FileName-Wert nicht unbedingt die .exe Erweiterung, sollte aber als Teil des Werts angegeben werden. Beispielsweise <Filename>MyApplictication.exe</Filename> sollte anstelle von <Filename>MyApplictication</Filename>angegeben werden. Im zweiten Beispiel wird die Vorlage nicht auf den Prozess angewendet, wenn der tatsächliche Name der ausführbaren Datei "MyApplication.exe" lautet.

Architecture

Obligatorisch: False

Typ: Architektur (Zeichenfolge)

Architektur bezieht sich auf die Prozessorarchitektur, für die die ausführbare Zieldatei kompiliert wurde. Gültige Werte sind Win32 für 32-Bit-Anwendungen oder Win64 für 64-Bit-Anwendungen. Falls vorhanden, beschränkt dieses Tag die Anwendbarkeit der Einstellungsspeicherortvorlage auf eine bestimmte Anwendungsarchitektur. Vergleichen Sie beispielsweise die MicrosoftOffice2010Win32.xml %ProgramFiles%\Microsoft User Experience Virtualization\templates\ und MicrosoftOffice2010Win64.xml dateien, die in UE-V enthalten sind. Dies ist nützlich, wenn sich relative Pfade zwischen verschiedenen Versionen einer ausführbaren Datei ändern oder wenn Einstellungen hinzugefügt oder entfernt wurden, wenn sie von einer Prozessorarchitektur zu einer anderen wechseln.

Wenn dieses Element nicht vorhanden ist, ignoriert die Einstellungsspeicherortvorlage die Architektur des Prozesses und gilt sowohl für 32- als auch für 64-Bit-Prozesse, wenn der Dateiname und andere Attribute zutreffen.

Hinweis UE-V unterstützt in dieser Version keine ARM-Prozessoren.

ProductName

Obligatorisch: False

Typ: Zeichenfolge

ProductName ist ein optionales Element, das verwendet wird, um ein Produkt für Administrative Zwecke oder Berichte zu identifizieren. ProductName unterscheidet sich von Filename darin, dass es keine Einschränkungen für reguläre Ausdrücke für den Wert gibt. Dies ermöglicht leichter verständliche Beschreibungen eines Prozesses, bei dem der Name der ausführbaren Datei möglicherweise nicht offensichtlich ist. Zum Beispiel:

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

FileDescription

Obligatorisch: False

Typ: Zeichenfolge

FileDescription ist ein optionales Tag, das eine administrative Beschreibung der ausführbaren Datei ermöglicht. Dies ist ein Freitextfeld und kann nützlich sein, um mehrere ausführbare Dateien innerhalb eines Softwarepakets zu unterscheiden, bei denen die Funktion der ausführbaren Datei identifiziert werden muss.

In einer geeigneten Anwendung kann es z. B. hilfreich sein, Erinnerungen zur Funktion von zwei ausführbaren Dateien (MyApplication.exe und MyApplicationHelper.exe) bereitzustellen, wie hier gezeigt:

<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

Obligatorisch: False

Typ: Zeichenfolge

ProductVersion bezieht sich auf die Haupt- und Nebenproduktversionen einer Datei sowie eine Build- und Patchebene. ProductVersion ist ein optionales Element, aber wenn angegeben, muss es mindestens das untergeordnete Major-Element enthalten. Der Wert muss einen Bereich im Format Minimum="X" Maximum="Y" ausdrücken, wobei X und Y ganze Zahlen sind. Die Werte Minimum und Maximum können identisch sein.

Die Produkt- und Dateiversionselemente werden möglicherweise nicht angegeben. Dadurch wird die Vorlage als "versionagnostisch" bezeichnet, was bedeutet, dass die Vorlage auf alle Versionen der angegebenen ausführbaren Datei angewendet wird.

Beispiel 1:

Produktversion: 1.0, die im UE-V-Generator angegeben ist, erzeugt den folgenden XML-Code:

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

Beispiel 2:

Dateiversion: 5.0.2.1000, die im UE-V-Generator angegeben ist, erzeugt den folgenden XML-Code:

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

Falsches Beispiel 1 – unvollständiger Bereich:

Es ist nur das Minimum-Attribut vorhanden. Maximum muss ebenfalls in einem Bereich enthalten sein.

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

Falsches Beispiel 2 – Nebenangabe ohne Hauptelement:

Nur das Nebenelement ist vorhanden. Hauptfach muss ebenfalls enthalten sein.

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

FileVersion

Obligatorisch: False

Typ: Zeichenfolge

FileVersion unterscheidet zwischen der Releaseversion einer veröffentlichten Anwendung und den internen Builddetails einer ausführbaren Komponente. Bei den meisten kommerziellen Anwendungen sind diese Nummern identisch. Wenn sie variieren, gibt die Produktversion einer Datei eine generische Versionsidentifikation einer Datei an, während die Dateiversion einen bestimmten Build einer Datei angibt (wie bei einem Hotfix oder Update). Dadurch werden Dateien eindeutig identifiziert, ohne die Erkennungslogik zu unterbrechen.

Um die Produktversion und Dateiversion einer bestimmten ausführbaren Datei zu ermitteln, klicken Sie mit der rechten Maustaste auf die Datei in Windows Explorer, wählen Sie Eigenschaften aus, und klicken Sie dann auf die Registerkarte Details.

Das Einschließen eines FileVersion-Elements für eine Anwendung ermöglicht eine präzisere Erkennungslogik, ist für die meisten Anwendungen jedoch nicht erforderlich. Die ProductVersion-Elementeinstellungen werden zuerst und dann FileVersion aktiviert. Die restriktivere Einstellung wird angewendet.

Die untergeordneten Elemente und Syntaxregeln für FileVersion sind mit denen von ProductVersion identisch.

<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

Die Anwendung ist ein Container für Einstellungen, die für eine bestimmte Anwendung gelten. Es handelt sich um eine Auflistung der folgenden Felder/Typen.

Feld/Typ Beschreibung

Name

Gibt einen eindeutigen Namen für die Einstellungsspeicherortvorlage an. Dies wird zu Anzeigezwecken verwendet, wenn auf die Vorlage in WMI, PowerShell, Ereignisanzeige und Debugprotokollen verwiesen wird. Weitere Informationen finden Sie unter Name.

ID

Füllt einen eindeutigen Bezeichner für eine bestimmte Vorlage auf. Dieses Tag wird zum primären Bezeichner, den der UE-V-Agent verwendet, um zur Laufzeit auf die Vorlage zu verweisen. Weitere Informationen finden Sie unter ID.

Beschreibung

Eine optionale Beschreibung der Vorlage.

LocalizedNames

Ein optionaler Name, der auf der Benutzeroberfläche angezeigt wird, lokalisiert durch ein Sprachgebietsschema.

LocalizedDescriptions

Eine optionale Vorlagenbeschreibung, die durch ein Sprachgebietsschema lokalisiert wird.

Version

Gibt die Version der Einstellungsspeicherortvorlage für die administrative Nachverfolgung von Änderungen an. Weitere Informationen finden Sie unter Version.

DeferToMSAccount

Steuert, ob diese Vorlage in Verbindung mit einem Microsoft-Konto aktiviert ist oder nicht. Wenn die MSA-Synchronisierung für einen Benutzer auf einem Computer aktiviert ist, wird diese Vorlage automatisch deaktiviert.

DeferToOffice365

Ähnlich wie bei MSA steuert dies, ob diese Vorlage in Verbindung mit Office365 aktiviert ist. Wenn Office 365 zum Synchronisieren von Einstellungen verwendet wird, wird diese Vorlage automatisch deaktiviert.

Prozesse

Ein Container für eine Auflistung von einem oder mehreren Process-Elementen. Weitere Informationen finden Sie unter Prozesse.

Einstellungen

Ein Container für alle Einstellungen, die für eine bestimmte Vorlage gelten. Sie enthält Instanzen der Einstellungen Registry, File, SystemParameter und CustomAction. Weitere Informationen finden Sie unter Einstellungen in Datentypen.

Common-Element

Common ähnelt einem Application-Element, ist aber immer zwei oder mehr Application-Elementen zugeordnet. Der Abschnitt Allgemein stellt den Satz von Einstellungen dar, die von diesen Anwendungsinstanzen gemeinsam verwendet werden. Es handelt sich um eine Auflistung der folgenden Felder/Typen.

Feld/Typ Beschreibung

Name

Gibt einen eindeutigen Namen für die Einstellungsspeicherortvorlage an. Dies wird zu Anzeigezwecken verwendet, wenn auf die Vorlage in WMI, PowerShell, Ereignisanzeige und Debugprotokollen verwiesen wird. Weitere Informationen finden Sie unter Name.

ID

Füllt einen eindeutigen Bezeichner für eine bestimmte Vorlage auf. Dieses Tag wird zum primären Bezeichner, den der UE-V-Agent verwendet, um zur Laufzeit auf die Vorlage zu verweisen. Weitere Informationen finden Sie unter ID.

Beschreibung

Eine optionale Beschreibung der Vorlage.

LocalizedNames

Ein optionaler Name, der auf der Benutzeroberfläche angezeigt wird, lokalisiert durch ein Sprachgebietsschema.

LocalizedDescriptions

Eine optionale Vorlagenbeschreibung, die durch ein Sprachgebietsschema lokalisiert wird.

Version

Gibt die Version der Einstellungsspeicherortvorlage für die administrative Nachverfolgung von Änderungen an. Weitere Informationen finden Sie unter Version.

DeferToMSAccount

Steuert, ob diese Vorlage in Verbindung mit einem Microsoft-Konto aktiviert ist oder nicht. Wenn die MSA-Synchronisierung für einen Benutzer auf einem Computer aktiviert ist, wird diese Vorlage automatisch deaktiviert.

DeferToOffice365

Ähnlich wie bei MSA steuert dies, ob diese Vorlage in Verbindung mit Office365 aktiviert ist. Wenn Office 365 zum Synchronisieren von Einstellungen verwendet wird, wird diese Vorlage automatisch deaktiviert.

Einstellungen

Ein Container für alle Einstellungen, die für eine bestimmte Vorlage gelten. Sie enthält Instanzen der Einstellungen Registry, File, SystemParameter und CustomAction. Weitere Informationen finden Sie unter Einstellungen in Datentypen.

SettingsLocationTemplate-Element

Dieses Element definiert die Einstellungen für eine einzelne Anwendung oder eine Suite von Anwendungen.

Feld/Typ Beschreibung

Name

Gibt einen eindeutigen Namen für die Einstellungsspeicherortvorlage an. Dies wird zu Anzeigezwecken verwendet, wenn auf die Vorlage in WMI, PowerShell, Ereignisanzeige und Debugprotokollen verwiesen wird. Weitere Informationen finden Sie unter Name.

ID

Füllt einen eindeutigen Bezeichner für eine bestimmte Vorlage auf. Dieses Tag wird zum primären Bezeichner, den der UE-V-Agent verwendet, um zur Laufzeit auf die Vorlage zu verweisen. Weitere Informationen finden Sie unter ID.

Beschreibung

Eine optionale Beschreibung der Vorlage.

LocalizedNames

Ein optionaler Name, der auf der Benutzeroberfläche angezeigt wird, lokalisiert durch ein Sprachgebietsschema.

LocalizedDescriptions

Eine optionale Vorlagenbeschreibung, die durch ein Sprachgebietsschema lokalisiert wird.

Anhang: SettingsLocationTemplate.xsd

Hier sehen Sie die Datei SettingsLocationTemplate.xsd mit ihren Elementen, untergeordneten Elementen, Attributen und Parametern:

<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="UevSettingsLocationTemplate"
  targetNamespace="https://schemas.microsoft.com/UserExperienceVirtualization/2013/SettingsLocationTemplate"
  elementFormDefault="qualified"
  xmlns="https://schemas.microsoft.com/UserExperienceVirtualization/2013/SettingsLocationTemplate"
  xmlns:mstns="https://schemas.microsoft.com/UserExperienceVirtualization/2013/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="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="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="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:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element name="Registry" type="RegistrySetting" />
        <xs:element name="File" type="FileSetting" />
        <xs:element name="SystemParameter" type="SystemParameterSetting" />
      </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="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="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="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="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="Version" type="TemplateVersion" />
            <xs:element name="Author" type="Author" minOccurs="0" />
            <xs:element name="DeferToMSAccount" 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="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>

Arbeiten mit benutzerdefinierten UE-V 2.x-Vorlagen und dem UE-V 2.x-Generator

Technische Referenz für UE-V 2.x