Compartir a través de


Referencia del esquema de plantilla de aplicación para UE-V 2.1 SP1

Virtualización de la experiencia del usuario de Microsoft (UE-V) 2.1 SP1 usa plantillas de ubicación de configuración XML para definir la configuración de la aplicación de escritorio y la configuración de Windows que UE-V captura y aplica. UE-V incluye un conjunto de plantillas de ubicación de configuración predeterminadas. También puede crear plantillas de ubicación de configuración personalizadas con el generador de UE-V.

Un usuario avanzado puede personalizar el archivo XML para una plantilla de ubicación de configuración. En este artículo se detalla la estructura XML de las plantillas de ubicación de configuración de UE-V 2.1 SP1 y se proporcionan instrucciones para editar estos archivos.

Referencia de esquema de plantilla de aplicación de UE-V 2.1 SP1

En esta sección se detalla la estructura XML de la plantilla de ubicación de configuración de UE-V 2.1 SP1 y se proporcionan instrucciones para editar este archivo.

Declaración XML y atributo de codificación

Obligatorio: True

Tipo: String

La declaración XML debe especificar el atributo XML versión 1.0 (<?xml version="1.0">). Las plantillas de ubicación de configuración creadas por el generador de UE-V se guardan en la codificación UTF-8, aunque la codificación no se especifica explícitamente. Se recomienda incluir el atributo encoding="UTF-8" en este elemento como procedimiento recomendado. Todas las plantillas incluidas con el producto también especifican esta etiqueta. Para obtener referencia, vea los documentos de %ProgramFiles%\Microsoft User Experience Virtualization\Templates.

Por ejemplo:

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

Espacio de nombres y elemento raíz

Obligatorio: True

Tipo: String

UE-V usa el https://schemas.microsoft.com/UserExperienceVirtualization/2012/SettingsLocationTemplate espacio de nombres para todas las aplicaciones. SettingsLocationTemplate es el elemento raíz y contiene todos los demás elementos. Referencia SettingsLocationTemplate en todas las plantillas con esta etiqueta:

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

Tipos de datos

Estos elementos son los tipos de datos del esquema de plantilla de aplicación de UE-V.

  • GUID: GUID describe una expresión regular (regex) de identificador único global (GUID) estándar con el formato \{[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}\}. Este GUID se usa en el Filesetting\Root\KnownFolder elemento para comprobar el formato de carpetas conocidas.

  • FilenameString: FilenameString hace referencia al nombre de archivo de un proceso que se va a supervisar. La siguiente expresión regular restringe sus valores: [^\\\?\*\|<>/:]+. Es decir, no pueden contener los siguientes caracteres:

    • Caracteres de barra diagonal inversa (\)
    • Asterisco (*)
    • Signo de interrogación (?)
    • Carácter de canalización (|)
    • Mayor que el signo (>)
    • Menor que el signo (<)
    • Barra diagonal (/)
    • Dos puntos (:)
  • IDString: IDString hace referencia al valor id. de los elementos Application, SettingsLocationTemplate y Common (que se usa para describir los conjuntos de aplicaciones que comparten la configuración común). Está restringido por el mismo regex que FilenameString ([^\\\?\*\|<>/:]+).

  • TemplateVersion: TemplateVersion es un valor entero que se usa para describir la revisión de la plantilla de ubicación de configuración. Su valor puede oscilar entre 0 y 2147483647.

  • Vacío: Vacío hace referencia a un valor NULL. Estos datos se usan en Process\ShellProcess para indicar que no hay ningún proceso que supervisar. Este valor no debe usarse en ninguna plantilla de aplicación.

  • Autor: el tipo de datos Author es un tipo complejo que identifica al autor de una plantilla. Contiene dos elementos secundarios: Name y Email. Dentro del tipo de datos Author, el elemento Name es obligatorio, mientras que el elemento Email es opcional. Este tipo se describe con más detalle en el elemento SettingsLocationTemplate.

  • Intervalo: Range define una clase entera que consta de dos elementos secundarios: Minimum y Maximum. Este tipo de datos se implementa en el tipo de datos ProcessVersion. Si se especifica, se deben incluir los valores Mínimo y Máximo.

  • ProcessVersion: ProcessVersion define un tipo con cuatro elementos secundarios: Major, Minor, Build y Patch. El elemento Process usa este tipo de datos para rellenar sus valores ProductVersion y FileVersion. Los datos de este tipo son un valor range. El elemento secundario Principal es obligatorio y los demás son opcionales.

  • Arquitectura: La arquitectura enumera dos valores posibles: Win32 y Win64. Estos valores se usan para especificar la arquitectura de procesos.

  • Proceso: el tipo de datos Process es un contenedor que se usa para describir los procesos de UE-V que se van a supervisar. Contiene seis elementos secundarios: Filename, Architecture, ProductName, FileDescription, ProductVersion y FileVersion. En esta tabla se detalla el tipo de datos correspondiente de cada elemento:

Elemento Tipo de datos Mandatory
Nombre FilenameString Verdadero
Arquitectura Arquitectura Falso
ProductName Cadena Falso
FileDescription Cadena Falso
ProductVersion ProcessVersion Falso
FileVersion ProcessVersion Falso
  • Procesos: el tipo de datos Procesos representa un contenedor para una colección de uno o varios elementos Process. Se admiten dos elementos secundarios en el tipo de secuencia Procesos: Process y ShellProcess. Process es un elemento de tipo Process y ShellProcess es de tipo de datos Empty. Al menos un elemento debe identificarse en la secuencia.

  • Ruta de acceso: RegistrySetting y FileSetting consumen la ruta de acceso para hacer referencia a las rutas de acceso del Registro y del archivo. Este elemento admite dos atributos opcionales: Recursive y DeleteIfNotFound. Ambos valores se establecen en default="False".

    Recursivo indica que la ruta de acceso y todas las subcarpetas se incluyen para la configuración de archivos o que todas las claves del Registro secundarias se incluyen para la configuración del Registro. En ambos casos, todos los elementos del nivel actual se incluyen en los datos capturados. Para un objeto FileSettings, todos los archivos de la carpeta especificada se incluyen en los datos capturados por UE-V, pero no se incluyen las carpetas. En el caso de las rutas de acceso del Registro, se capturan todos los valores de la ruta de acceso actual, pero no se capturan las claves del Registro secundarias. En ambos casos, se debe tener cuidado para evitar la captura de grandes conjuntos de datos o un gran número de elementos.

    El atributo DeleteIfNotFound quita la configuración de los datos de la ruta de acceso de almacenamiento de configuración del usuario. Este atributo puede ser útil en casos en los que la eliminación de esta configuración del paquete ahorra una gran cantidad de espacio en disco en el servidor de archivos de ruta de acceso de almacenamiento de configuración.

  • FileMask: FileMask especifica solo determinados tipos de archivo para la carpeta que define el atributo Path. Por ejemplo, Path podría ser C:\users\username\files y FileMask podría incluir *.txt solo archivos de texto.

  • RegistrySetting: RegistrySetting representa un contenedor para claves y valores del Registro y el comportamiento deseado asociado por parte del agente de UE-V. Se definen cuatro elementos secundarios dentro de este tipo: Path, Name, Exclude y una secuencia de los valores Path y Name.

  • FileSetting: FileSetting contiene parámetros asociados a archivos y rutas de acceso de archivos. Se definen cuatro elementos secundarios: Root, Path, FileMask y Exclude. La raíz es obligatoria y las demás son opcionales.

  • Configuración: el atributo Settings es un contenedor para todas las opciones de configuración que se aplican a una plantilla determinada. Contiene instancias de los valores de Registry, File, SystemParameter y CustomAction descritos anteriormente. Además, también puede contener los siguientes elementos secundarios con los comportamientos descritos:

Elemento Descripción
Asincrónico Los paquetes de configuración asincrónica se aplican sin bloquear el inicio de la aplicación para que el inicio de la aplicación continúe mientras se sigue aplicando la configuración. Este elemento es útil para la configuración que se puede aplicar de forma asincrónica, como las que get/set se realizan a través de una API, como SystemParameterSetting.
PreventOverlappingSynchronization De forma predeterminada, UE-V solo guarda la configuración de una aplicación cuando se cierra la última instancia de una aplicación que usa la plantilla. Cuando este elemento se establece en false, UE-V exporta la configuración incluso si se ejecutan otras instancias de una aplicación. Las plantillas adecuadas (aquellas que incluyen una sección de elemento Common) que se incluyen con UE-V usan esta marca para permitir que la configuración compartida se exporte siempre al cerrar la aplicación, a la vez que impide que la configuración específica de la aplicación se exporte hasta que se cierre la última instancia.
AlwaysApplySettings Este parámetro obliga a aplicar un paquete de configuración importado aunque no haya diferencias entre el paquete y el estado actual de la aplicación. Este parámetro solo se debe usar en casos especiales, ya que puede ralentizar la importación de la configuración.

Elemento Name

Obligatorio: True

Tipo: String

Name especifica un nombre único para la plantilla de ubicación de configuración. Esto se usa con fines de presentación al hacer referencia a la plantilla en los registros wmi, powershell, Visor de eventos y depuración. En general, evite hacer referencia a la información de versión, ya que se puede objer desde el elemento ProductVersion. Por ejemplo, especifique <Name>My Application</Name> en lugar de <Name>My Application 1.1</Name>.

Nota

UE-V no hace referencia a DTD externos, por lo que no es posible usar entidades con nombre en una plantilla de ubicación de configuración. Por ejemplo, no use &reg; para hacer referencia al signo de marca registrada (®). En su lugar, use referencias numeradas canónicas para incluir estos tipos de caracteres especiales, por ejemplo, &#174 para el carácter de marca registrada (®). Esta regla se aplica a todos los valores de cadena de este documento.

Para obtener una lista completa de entidades de caracteres, vea W3 XHTML 1.0 - DTDs. Los documentos codificados con UTF-8 pueden incluir los caracteres Unicode directamente. Al guardar plantillas a través del generador de UE-V, las entidades de caracteres se convierten automáticamente en sus representaciones Unicode.

Elemento ID

Obligatorio: True

Tipo: String

Id. rellena un identificador único para una plantilla determinada. Esta etiqueta se convierte en el identificador principal que usa el agente de UE-V para hacer referencia a la plantilla en tiempo de ejecución (por ejemplo, vea la salida de los cmdlets de PowerShell Get-UevTemplate y Get-UevTemplateProgram). Por convención, esta etiqueta no debe contener espacios, lo que simplifica el scripting. Los números de versión de las aplicaciones deben especificarse en este elemento para facilitar la identificación de la plantilla, como <ID>MicrosoftCalculator6</ID> o <ID>MicrosoftOffice2010Win64</ID>.

Elemento Version

Obligatorio: True

Tipo: Integer

Valor mínimo: 0

Valor máximo: 2147483647

La versión identifica la versión de la plantilla de ubicación de configuración para el seguimiento administrativo de los cambios. El generador de UE-V incrementa automáticamente este número en uno cada vez que se guarda la plantilla. Observe que este campo debe ser un número entero entero; valores fraccionarios, como <Version>2.5</Version> no se permiten.

Sugerencia

Puede guardar notas sobre los cambios de versión mediante etiquetas <!-- -->de comentario XML, por ejemplo:

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

Importante

Este valor se consulta para determinar si se debe aplicar una nueva versión de una plantilla a una plantilla existente en estas instancias:

  • Cuando se ejecuta la tarea de actualización automática de plantilla programada.

  • Cuando se ejecuta el cmdlet de PowerShell Update-UevTemplate.

  • Cuando se llama al microsoft\uev:SettingsLocationTemplate método Update a través de WMI.

Elemento Author

Obligatorio: False

Tipo: String

Author identifica al creador de la plantilla de ubicación de configuración. Se admiten dos elementos secundarios opcionales: Name y Email. Ambos atributos son opcionales, pero, si se especifica el elemento secundario Email, debe ir acompañado del elemento Name. El autor hace referencia al nombre completo del contacto de la plantilla de ubicación de configuración y el correo electrónico debe hacer referencia a una dirección de correo electrónico del autor. Se recomienda incluir esta información en las plantillas que publique públicamente.

Elemento Processes y process

Obligatorio: True

Tipo: elemento

El elemento Processes contiene al menos un <Process> elemento, que a su vez contiene los siguientes elementos secundarios: Filename, Architecture, ProductName, FileDescription, ProductVersion y FileVersion. El elemento secundario Filename es obligatorio y los demás son opcionales. Un elemento totalmente rellenado contiene etiquetas similares a las de este ejemplo:

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

Nombre

Obligatorio: True

Tipo: String

Filename hace referencia al nombre de archivo real del archivo ejecutable tal como aparece en el sistema de archivos. Este elemento especifica el criterio principal que USA UE-V para evaluar si una plantilla se aplica a un proceso o no. Este elemento debe especificarse en la plantilla de ubicación de configuración XML.

Los nombres de archivo válidos no pueden coincidir con la siguiente expresión regular: [^\\\?\*\|<>/:]+. Es decir, no pueden contener los siguientes caracteres:

  • Caracteres de barra diagonal inversa (\)
  • Asterisco (*)
  • Signo de interrogación (?)
  • Carácter de canalización (|)
  • Mayor que el signo (>)
  • Menor que el signo (<)
  • Barra diagonal (/)
  • Dos puntos (:)

Sugerencia

Para probar una cadena con esta expresión regular, use una ventana de comandos de PowerShell y sustituya el nombre del ejecutable por YourFileName:

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

Un valor de True indica que la cadena contiene caracteres no válidos. Estos son algunos ejemplos de valores no válidos:

  • \\server\share\program.exe

  • Program*.exe

  • Pro?ram.exe

  • Program<1>.exe

Nota

El generador de UE-V codifica los caracteres mayor y menor que como &gt; y &lt; respectivamente.

En raras circunstancias, el valor FileName no incluirá necesariamente la extensión .exe, pero debe especificarse como parte del valor. Por ejemplo, <Filename>MyApplictication.exe</Filename> se debe especificar en lugar de <Filename>MyApplictication</Filename>. El segundo ejemplo no aplicará la plantilla al proceso si el nombre real del archivo ejecutable es MyApplication.exe.

Arquitectura

Obligatorio: False

Tipo: Arquitectura (Cadena)

La arquitectura hace referencia a la arquitectura del procesador para la que se compiló el ejecutable de destino. Los valores válidos son Win32 para aplicaciones de 32 bits o Win64 para aplicaciones de 64 bits. Si está presente, esta etiqueta limita la aplicabilidad de la plantilla de ubicación de configuración a una arquitectura de aplicación determinada. Por ejemplo, compare los %ProgramFiles%\Microsoft User Experience Virtualization\templates\MicrosoftOffice2010Win32.1SP1.xml archivos y MicrosoftOffice2010Win64.xml incluidos con UE-V. Esto resulta útil cuando las rutas de acceso relativas cambian entre distintas versiones de un archivo ejecutable o si la configuración se agrega o quita al pasar de una arquitectura de procesador a otra.

Si este elemento no está presente, la plantilla de ubicación de configuración omite la arquitectura del proceso y se aplica a los procesos de 32 y 64 bits si se aplican el nombre de archivo y otros atributos.

Nota

UE-V no admite procesadores ARM en esta versión.

ProductName

Obligatorio: False

Tipo: String

ProductName es un elemento opcional que se usa para identificar un producto con fines administrativos o informes. ProductName difiere de Filename en que no hay restricciones de expresiones regulares en su valor. Esto permite obtener descripciones más fáciles de entender de un proceso en el que el nombre del ejecutable no es obvio. Por ejemplo:

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

FileDescription

Obligatorio: False

Tipo: String

FileDescription es una etiqueta opcional que permite una descripción administrativa del archivo ejecutable. Se trata de un campo de texto libre y puede ser útil para distinguir varios ejecutables dentro de un paquete de software donde es necesario identificar la función del ejecutable.

Por ejemplo, en una aplicación adecuada, podría ser útil proporcionar recordatorios sobre la función de dos ejecutables (MyApplication.exe y MyApplicationHelper.exe), como se muestra aquí:

<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

Obligatorio: False

Tipo: String

ProductVersion hace referencia a las versiones de producto principales y secundarias de un archivo, así como a un nivel de compilación y revisión. ProductVersion es un elemento opcional, pero, si se especifica, debe contener al menos el elemento secundario Principal. El valor debe expresar un intervalo con el formato Minimum="X" Maximum="Y" donde X e Y son enteros. Los valores Mínimo y Máximo pueden ser idénticos.

Los elementos de versión de producto y archivo se pueden dejar sin especificar. Esto hace que la versión de la plantilla sea independiente, lo que significa que la plantilla se aplica a todas las versiones del ejecutable especificado.

Ejemplo 1: Versión 1.0 del producto

Versión del producto: 1.0 especificada en el generador de UE-V genera el siguiente XML:

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

Ejemplo 2: Versión del producto 5.0.2.1000

Versión del archivo: 5.0.2.1000 especificado en el generador de UE-V genera el siguiente XML:

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

Ejemplo 1 incorrecto: intervalo incompleto

Solo el atributo Minimum está presente. El máximo también debe incluirse en un intervalo.

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

Ejemplo 2 incorrecto: menor especificado sin el elemento Major

Solo el elemento Minor está presente. Major también debe incluirse.

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

FileVersion

Obligatorio: False

Tipo: String

FileVersion diferencia entre la versión de versión de una aplicación publicada y los detalles de compilación internos de un ejecutable de componente. En la mayoría de las aplicaciones comerciales, estos números son idénticos. Cuando varían, la versión del producto de un archivo indica una identificación de versión genérica de un archivo, mientras que la versión del archivo indica una compilación específica de un archivo (como en una revisión o actualización). Esto identifica de forma única los archivos sin interrumpir la lógica de detección.

Para determinar la versión del producto y la versión del archivo de un ejecutable determinado, haga clic con el botón derecho en el archivo en el Explorador de Windows, seleccione Propiedades y, a continuación, seleccione en la pestaña Detalles.

La inclusión de un elemento FileVersion para una aplicación permite una lógica de detección de ajuste más granular, pero no es necesaria para la mayoría de las aplicaciones. La configuración del elemento ProductVersion se comprueba primero y, a continuación, se comprueba FileVersion. Se aplica la configuración más restrictiva.

Los elementos secundarios y las reglas de sintaxis de FileVersion son idénticos a los de 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>

Elemento de la aplicación

La aplicación es un contenedor para la configuración que se aplica a una aplicación determinada. Es una colección de los siguientes campos o tipos.

Campo o tipo Descripción
Name Especifica un nombre único para la plantilla de ubicación de configuración. Esto se usa con fines de presentación al hacer referencia a la plantilla en los registros wmi, powershell, Visor de eventos y depuración. Para obtener más información, vea Nombre.
ID Rellena un identificador único para una plantilla determinada. Esta etiqueta se convierte en el identificador principal que usa el agente de UE-V para hacer referencia a la plantilla en tiempo de ejecución. Para obtener más información, consulte Id.
Descripción Una descripción opcional de la plantilla.
LocalizedNames Nombre opcional que se muestra en la interfaz de usuario, localizado por una configuración regional de idioma.
LocalizedDescriptions Descripción de plantilla opcional localizada por una configuración regional de idioma.
Versión Identifica la versión de la plantilla de ubicación de configuración para el seguimiento administrativo de los cambios. Para obtener más información, vea Versión.
DeferToMSAccount Controla si esta plantilla está habilitada con una cuenta Microsoft o no. Si la sincronización de MSA está habilitada para un usuario en una máquina, esta plantilla se deshabilita automáticamente.
DeferToOffice365 De forma similar a MSA, controla si esta plantilla está habilitada con Office365. Si se usa Office 365 para sincronizar la configuración, esta plantilla se deshabilita automáticamente.
FixedProfile Especifica que esta plantilla solo se puede asociar al perfil especificado dentro de este elemento y no se puede cambiar a través de WMI o PowerShell.
Procesos Contenedor para una colección de uno o varios elementos Process. Para obtener más información, vea Procesos.
Configuración Contenedor para toda la configuración que se aplica a una plantilla determinada. Contiene instancias de las opciones Registro, Archivo, SystemParameter y CustomAction. Para obtener más información, vea Configuración en Tipos de datos.

Elemento Common

Common es similar a un elemento Application, pero siempre está asociado a dos o más elementos Application. La sección Común representa el conjunto de configuraciones que se comparten entre esas instancias de Application. Es una colección de los siguientes campos o tipos.

Campo o tipo Descripción
Name Especifica un nombre único para la plantilla de ubicación de configuración. Esto se usa con fines de presentación al hacer referencia a la plantilla en los registros wmi, powershell, Visor de eventos y depuración. Para obtener más información, vea Nombre.
ID Rellena un identificador único para una plantilla determinada. Esta etiqueta se convierte en el identificador principal que usa el agente de UE-V para hacer referencia a la plantilla en tiempo de ejecución. Para obtener más información, consulte Id.
Descripción Una descripción opcional de la plantilla.
LocalizedNames Nombre opcional que se muestra en la interfaz de usuario, localizado por una configuración regional de idioma.
LocalizedDescriptions Descripción de plantilla opcional localizada por una configuración regional de idioma.
Versión Identifica la versión de la plantilla de ubicación de configuración para el seguimiento administrativo de los cambios. Para obtener más información, vea Versión.
DeferToMSAccount Controla si esta plantilla está habilitada con una cuenta Microsoft o no. Si la sincronización de MSA está habilitada para un usuario en una máquina, esta plantilla se deshabilita automáticamente.
DeferToOffice365 De forma similar a MSA, controla si esta plantilla está habilitada con Office365. Si se usa Office 365 para sincronizar la configuración, esta plantilla se deshabilita automáticamente.
FixedProfile Especifica que esta plantilla solo se puede asociar al perfil especificado dentro de este elemento y no se puede cambiar a través de WMI o PowerShell.
Configuración Contenedor para toda la configuración que se aplica a una plantilla determinada. Contiene instancias de las opciones Registro, Archivo, SystemParameter y CustomAction. Para obtener más información, vea Configuración en Tipos de datos.

Elemento SettingsLocationTemplate

Este elemento define la configuración de una sola aplicación o un conjunto de aplicaciones.

Campo o tipo Descripción
Name Especifica un nombre único para la plantilla de ubicación de configuración. Esto se usa con fines de presentación al hacer referencia a la plantilla en los registros wmi, powershell, Visor de eventos y depuración. Para obtener más información, vea Nombre.
ID Rellena un identificador único para una plantilla determinada. Esta etiqueta se convierte en el identificador principal que usa el agente de UE-V para hacer referencia a la plantilla en tiempo de ejecución. Para obtener más información, consulte Id.
Descripción Una descripción opcional de la plantilla.
LocalizedNames Nombre opcional que se muestra en la interfaz de usuario, localizado por una configuración regional de idioma.
LocalizedDescriptions Descripción de plantilla opcional localizada por una configuración regional de idioma.

Apéndice: SettingsLocationTemplate.xsd

Este es el archivo SettingsLocationTemplate.xsd que muestra sus elementos, elementos secundarios, atributos y parámetros:

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

Trabajar con plantillas personalizadas de UE-V 2.1 SP1 y el generador de UE-V 2.1 SP1

Referencia técnica para UE-V 2.1 SP1