Compartir a través de


Referencia del esquema de plantilla de aplicación para UE-V (Windows 10)

La virtualización de experiencia de usuario (UE-V) 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 captura y aplica UE-V. 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 personalizada con el generador de plantillas de UE-V.

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

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

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

En esta sección

Declaración XML y atributo de codificación

Obligatorio: Tipo true: cadena

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 plantillas 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 (consulte los documentos de %ProgramFiles%\Virtualización de la experiencia del usuario de Microsoft\Templates para obtener referencia). Por ejemplo:

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

Espacio de nombres y elemento raíz

Obligatorio: Tipo true: cadena

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. Configuración de referenciaLocationTemplate en todas las plantillas con esta etiqueta:

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

Tipos de datos

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

GUID GUID describe una expresión regular de identificador único global 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 elemento Filesetting\Root\KnownFolder para comprobar el formato de las carpetas conocidas.

FilenameString FilenameString hace referencia al nombre de archivo de un proceso que se va a supervisar. Sus valores están restringidos por el regex [^\\\?\*\|<>/:]+, (es decir, no pueden contener caracteres de barra diagonal inversa, caracteres comodín de asterisco o signo de interrogación, el carácter de canalización, el mayor o menor que el signo, la barra diagonal o los caracteres de dos puntos).

IDString IDString hace referencia al valor id. de los elementos Application, SettingsLocationTemplate y Common (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. Este tipo de datos se usa 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.

Gama 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 que va a supervisar UE-V. 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.

Camino 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. Esta eliminación puede ser deseable en los casos en los que la eliminación de esta configuración del paquete ahorrará 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 definida por 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 de claves y valores del Registro y el comportamiento deseado asociado por parte del servicio 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 La configuración 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 la configuración get/set 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 plantillas 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: Tipo true: cadena

Name especifica un nombre único para la plantilla de ubicación de configuración. Este nombre se usa para mostrar cuando se hace 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 esta referencia 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 utilice ® 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. Esta regla se aplica a todos los valores de cadena de este documento.

Consulte http://www.w3.org/TR/xhtml1/dtds.html para obtener una lista completa de entidades de caracteres. Los documentos codificados con UTF-8 pueden incluir los caracteres Unicode directamente. Al guardar plantillas a través del generador de plantillas de UE-V, las entidades de caracteres se convierten automáticamente en sus representaciones Unicode.

Elemento ID

Obligatorio: Tipo true: cadena

Id. rellena un identificador único para una plantilla determinada. Esta etiqueta se convierte en el identificador principal que usa el servicio 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 permitir una identificación sencilla de la plantilla, como <ID>MicrosoftOffice2016Win64</ID>.

Elemento Version

Obligatorio: Tipo true:Valor mínimo entero: 0Valor 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 plantillas 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 método microsoft\uev:SettingsLocationTemplate Update a través de WMI

Elemento Author

Obligatorio: Tipo false: cadena

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 plantillas publicadas públicamente.

Elemento Processes y Process

Obligatorio: Tipo true: elemento

Los procesos contienen 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: Tipo true: cadena

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 deben coincidir con la expresión regular [^\\\?\*\|<>/:]+, es decir, no pueden contener caracteres de barra diagonal inversa, caracteres comodín de asterisco o signo de interrogación, el carácter de canalización, el mayor o menor que el signo, la barra diagonal o dos puntos (los caracteres \ ? * | <> / o : ).

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
  • Programa*.exe
  • Pro?ram.exe
  • Programa<1>.exe

Nota

El generador de plantillas de UE-V codifica los caracteres mayor y menor que como > y < respectivamente.

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

Arquitectura

Obligatorio: Tipo falso: 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. Para ver un ejemplo de esta restricción de aplicabilidad, compare los archivos %ProgramFiles%\Virtualización de la experiencia del usuario de Microsoft\templates\ MicrosoftOffice2016Win32.xml y MicrosoftOffice2016Win64.xml incluidos en UE-V. Esta restricción de aplicabilidad es útil cuando las rutas de acceso relativas cambian entre diferentes versiones de un ejecutable o si se han agregado o quitado la configuración 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: Tipo false: cadena

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. Esta flexibilidad permite obtener descripciones más fáciles de entender de un proceso en el que el nombre del ejecutable puede no ser 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: Tipo false: cadena

FileDescription es una etiqueta opcional que permite una descripción administrativa del archivo ejecutable. Esta etiqueta es 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: Tipo false: cadena

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 pueden dejarse sin especificar. Esto hace que la plantilla sea independiente de la versión, lo que significa que la plantilla se aplicará a todas las versiones del ejecutable especificado.

Ejemplo 1:

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

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

Ejemplo 2:

Versión del archivo: 5.0.2.1000 especificado en el generador de plantillas 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 Principal:

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

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

FileVersion

Obligatorio: Tipo false: cadena

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 el ejemplo de una revisión o actualización). Esta versión de archivo 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, haga clic 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 aplicará la configuración más restrictiva.

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

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. Este nombre se usa para mostrar cuando se hace 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 servicio 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 junto con una cuenta microsoft o no. Si la sincronización de MSA está habilitada para un usuario en un equipo, esta plantilla se deshabilitará automáticamente.
DeferToOffice365 De forma similar a MSA, este tipo controla si esta plantilla está habilitada junto con Office361. Si se usa Office 365 para sincronizar la configuración, esta plantilla se deshabilitará 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. Este nombre se usa para mostrar cuando se hace 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 servicio 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 junto con una cuenta microsoft o no. Si la sincronización de MSA está habilitada para un usuario en un equipo, esta plantilla se deshabilitará automáticamente.
DeferToOffice365 De forma similar a MSA, este tipo controla si esta plantilla está habilitada junto con Office361. Si se usa Office 365 para sincronizar la configuración, esta plantilla se deshabilitará 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. Este tipo 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 servicio 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 UE-V personalizadas y la referencia técnica del generador de plantillas de UE-Vpara UE-V