Compartir a través de


Referencia de esquema de plantilla de aplicación para UE-V 2.x

Se aplica a: User Experience Virtualization 1.0, User Experience Virtualization 1.0 SP1, User Experience Virtualization 2.0, User Experience Virtualization 2.1

Virtualización de experiencia de usuario de Microsoft (UE-V) 2.0, 2.1 y 2.1 SP1 usan 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 predeterminada. Puede crear plantillas de ubicación de configuración personalizadas mediante UE-V Generator.

Un usuario avanzado puede personalizar el archivo XML de una plantilla de ubicación de configuración. En este tema se describe la estructura XML de las plantillas de ubicación de configuración de UE-V 2.1 (SP1) y 2.0, y se ofrecen instrucciones para modificar estos archivos.

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

En esta sección se describe la estructura XML de la plantilla de ubicación de configuración de UE-V 2.1 y 2.1 SP1, y se ofrecen instrucciones para modificar este archivo.

En esta sección

  • Atributo de codificación y declaración XML

  • Espacio de nombres y elemento raíz

  • Tipos de datos

  • Name (elemento)

  • ID (elemento)

  • Version (elemento)

  • Author (elemento)

  • Processes y elemento Process

  • Application (elemento)

  • Common (elemento)

  • SettingsLocationTemplate (elemento)

  • Apéndice: SettingsLocationTemplate.xsd

Atributo de codificación y declaración XML

Obligatorio: True

Tipo: Cadena

La declaración XML debe especificar el atributo de la versión 1.0 de XML (<?xml version="1.0">). Las plantillas de ubicación de configuración creadas con UE-V Generator se guardan en codificación UTF-8, aunque la codificación no se especifica explícitamente. Conviene incluir el atributo de codificación="UTF-8" de este elemento como práctica recomendada. Todas las plantillas que se incluyen con el producto especifican también esta etiqueta (vea los documentos disponibles en %ProgramFiles%\Microsoft User Experience Virtualization\Templates como referencia). Por ejemplo:

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

Espacio de nombres y elemento raíz

Obligatorio: True

Tipo: Cadena

UE-V usa el espacio de nombres https://schemas.microsoft.com/UserExperienceVirtualization/2012/SettingsLocationTemplate 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 son los tipos de datos del esquema de plantillas de aplicación de UE-V.

  • GUID
    GUID describe una expresión regular de identificador único global estándar en el formulario "\{[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}\}". Se usa en el elemento Filesetting\Root\KnownFolder para comprobar el formato de carpetas conocidas.
  • FilenameString
    FilenameString hace referencia al nombre de archivo de un proceso que se va a supervisar. Sus valores están restringidos por la regex [^\\\?\*\|<>/:]+, (es decir, puede que no contengan caracteres de barra diagonal inversa, los caracteres comodín de asterisco o signo de interrogación, el carácter de barra vertical, los signos de mayor que o menor que, los caracteres de barra diagonal o de dos puntos).
  • IDString
    IDString hace referencia al valor del identificador de elementos de aplicación, SettingsLocationTemplate y elementos comunes (que se usan para describir los conjuntos de aplicaciones que comparten opciones comunes). Está restringido por la misma 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.
  • Empty
    Empty hace referencia a un valor null. Se usa en Process\ShellProcess para indicar que no hay ningún proceso para supervisar. Este valor no debe usarse en las plantillas de aplicación.
  • Author
    Se trata de un tipo de datos 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.
  • Range
    Define una clase de tipo entero que consta de dos elementos secundarios: Minimum y Maximum. Este tipo de datos se implementa en el tipo de datos ProcessVersion. Si se especifica, deben incluirse los valores Minimum y Maximum.
  • ProcessVersion
    ProcessVersion define un tipo con cuatro elementos secundarios: Major, Minor, Build y Patch. Este tipo de datos se usa en el elemento Process para rellenar sus valores de ProductVersion y FileVersion. Los datos de este tipo son un valor Range. El elemento secundario Major es obligatorio y los demás son opcionales.
  • Arquitectura
    Architecture muestra dos valores posibles: Win32 y Win64. Estos valores sirven para especificar la arquitectura del proceso.
  • Process
    El tipo de datos Process es un contenedor que sirve para describir procesos que supervisará UE-V. Contiene seis elementos secundarios: Filename, Architecture, ProductName, FileDescription, ProductVersion y FileVersion. En esta tabla se detallan los tipos de datos correspondientes a cada elemento:

    Elemento

    Tipo de datos

    Obligatorio

    Filename

    FilenameString

    True

    Arquitectura

    Arquitectura

    False

    ProductName

    Cadena

    False

    FileDescription

    Cadena

    False

    ProductVersion

    ProcessVersion

    False

    FileVersion

    ProcessVersion

    False

  • Processes
    El tipo de datos Processes representa un contenedor para una colección de uno o más elementos Process. Se admiten dos elementos secundarios en el tipo de secuencia de Processes: Process y ShellProcess. Process es un elemento del tipo Process y ShellProcess es del tipo de datos Empty. Debe identificarse al menos un elemento en la secuencia.
  • Ruta de acceso
    Path lo usan RegistrySetting y FileSetting para hacer referencia a rutas de acceso de archivo y del Registro. Este elemento admite dos atributos opcionales: Recursive y DeleteIfNotFound. Ambos valores se establecen en el valor predeterminado = "False".

    Recursive indica que la ruta de acceso y todas sus subcarpetas se incluyen con la configuración del archivo o que todas las claves del Registro se incluyen con la configuración del Registro. En ambos casos, se incluyen todos los elementos en el nivel actual de 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 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 capturar grandes conjuntos de datos o un gran número de elementos.

    El atributo DeleteIfNotFound quita el valor de los datos de ruta de acceso de almacenamiento de configuración del usuario. Puede que esto sea conveniente en aquellos casos en los que quitar estos valores del paquete ahorre gran cantidad de espacio en disco en el servidor de archivos de ruta de acceso de almacenamiento de configuración.

  • FileMask
    FileMask solo especifica determinados tipos de archivo para la carpeta que se define con Path. Por ejemplo, Path podría ser C:\users\username\files y FileMask podría ser *.txt para incluir solo archivos de texto.
  • RegistrySetting
    RegistrySetting representa un contenedor para las claves y los valores del Registro, y el comportamiento asociado que se quiera por parte de UE-V Agent. 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 los archivos y las rutas de acceso de archivos. Se definen cuatro elementos secundarios: Root, Path, FileMask y Exclude. Root es obligatorio y los demás son opcionales.
  • Settings
    Settings es un contenedor para todos los valores que se aplican a una plantilla determinada. Contiene las 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

    Asynchronous

    Los paquetes de configuración Asynchronous se aplican sin bloquear el inicio de la aplicación, de modo que este continúe mientras aún se aplica la configuración. Esto resulta útil en el caso de valores que se pueden aplicar asincrónicamente como, por ejemplo, los proporcionados por get/set a través 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, aunque se estén ejecutando otras instancias de una aplicación. Plantillas adecuadas: las que incluyen una sección de elemento Common, que se suministran con UE-V usan esta marca para permitir que la configuración compartida se exporte siempre al cerrar la aplicación, al tiempo que impide que la configuración específica de la aplicación se exporte hasta que se cierra la última instancia.

    AlwaysApplySettings

    (introducida en 2.1)

    Este parámetro fuerza la aplicación de un paquete de configuración importado aunque no existan diferencias entre el paquete y el estado actual de la aplicación. Este solo parámetro debe usarse solo en casos especiales, ya que puede reducir la velocidad de importación de configuración.

Name (elemento)

Obligatorio: True

Tipo: Cadena

Name especifica un nombre único para la plantilla de ubicación de configuración. Se usa con fines de presentación al hacer referencia a la plantilla en los registros de WMI, PowerShell, Visor de sucesos y depuración. En general, evite hacer referencia a información de versión, ya que esto puede impugnarlo 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 las DTD externas, 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 a al signo de marca registrada ®. En su lugar, use referencias canónicas de numeración para incluir estos tipos de caracteres especiales, por ejemplo, &#174 para el carácter ®. Esta regla se aplica a todos los valores de cadena en este documento.

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

ID (elemento)

Obligatorio: True

Tipo: Cadena

ID rellena un identificador único para una plantilla determinada. Esta etiqueta se convierte en el identificador principal que UE-V Agent usa para hacer referencia a la plantilla en tiempo de ejecución (por ejemplo, para ver el resultado de los cmdlets Get-UevTemplate y Get-UevTemplateProgram de PowerShell). 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 la fácil identificación de la plantilla, por ejemplo, <ID>MicrosoftCalculator6</ID> o <ID>MicrosoftOffice2010Win64</ID>.

Version (elemento)

Obligatorio: True

Tipo: Entero

Valor mínimo: 0

Valor máximo: 2147483647

Version identifica la versión de la plantilla de ubicación de configuración para el seguimiento administrativo de los cambios. UE-V Generator 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; los valores fraccionarios, como <Version>2.5</Version> no están permitidos.

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 estos casos:

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

  • Cuando se ejecuta el cmdlet Update-UevTemplate de PowerShell

  • Cuando se llama al método de actualización microsoft\uev:SettingsLocationTemplate a través de WMI

Author (elemento)

Obligatorio: False

Tipo: 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 por el elemento Name. Author hace referencia al nombre completo del contacto para la plantilla de ubicación de configuración y Email debe hacer referencia a una dirección de correo electrónico del autor. Se recomienda incluir esta información en las plantillas de publicación, por ejemplo, en la Galería de plantillas de UE-V.

Processes y elemento Process

Obligatorio: True

Tipo: Elemento

Processes contiene al menos un elemento <Process>, que a su vez contiene los elementos secundarios siguientes: 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 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>

Filename

Obligatorio: True

Tipo: 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 UE-V usa para evaluar si una plantilla se aplica a un proceso o no. Este elemento debe especificarse en el XML de la plantilla de ubicación de configuración.

Los valores válidos de Filename no deben coincidir con la expresión regular [^\\\?\*\|<>/:]+, es decir, puede que no contengan caracteres de barra diagonal inversa, los caracteres comodín de asterisco o signo de interrogación, el carácter de barra vertical, los signos de mayor que o menor que, los caracteres de barra diagonal o de dos puntos (los caracteres \ ? * | < > / o :).

Sugerencia: Para probar una cadena con esta regex, use una ventana de comandos de PowerShell y reemplace el nombre del archivo ejecutable por YourFileName:

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

Un valor de True indica que la cadena contiene caracteres no válidos. A continuación se ofrecen algunos ejemplos de valores no válidos:

  • \\server\share\program.exe

  • Program*.exe

  • Pro?ram.exe

  • Program<1>.exe

Nota

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

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

Arquitectura

Obligatorio: False

Tipo: Arquitectura (cadena)

Architecture se refiere a la arquitectura del procesador en el que se compiló el archivo 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 en particular. Para obtener un ejemplo de esto, compare los archivos %ProgramFiles%\Microsoft User Experience Virtualization\templates\ MicrosoftOffice2010Win32.xml y MicrosoftOffice2010Win64.xml que se incluyen con UE-V. Esto es resulta útil cuando las rutas de acceso relativas cambian entre distintas versiones de un archivo ejecutable, o si agregan o quitan al pasar de una arquitectura de procesador a otra.

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

Nota

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

ProductName

Obligatorio: False

Tipo: Cadena

ProductName es un elemento opcional que sirve para identificar un producto a efectos administrativos o de informes. ProductName difiere de Filename en que no hay ninguna restricción de expresión regular en su valor. Esto facilita la comprensión de las descripciones de un proceso en el que nombre del archivo ejecutable no sea evidente. 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: Cadena

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

Por ejemplo, en una aplicación que forme parte de un conjunto, convendría proporcionar avisos sobre la función de dos archivos ejecutables (MyApplication.exe y MyApplicationHelper.exe), tal y 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: Cadena

ProductVersion hace referencia a las versiones de producto principal y secundaria 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 Major. El valor debe expresar un intervalo en forma de Minimum="X" Maximum="Y", donde X e Y son valores enteros. Los valores Minimum y Maximum pueden ser idénticos.

Puede que los elementos de versión de producto y archivo no se especifiquen. Esto hace que la plantilla sea "independiente de versión", lo que significa que la plantilla se aplicará a todas las versiones del archivo ejecutable especificado.

Ejemplo 1:

Versión de producto: 1.0 que se especifica en UE-V Generator produce el siguiente XML:

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

Ejemplo 2:

Versión de archivo: 5.0.2.1000 que se especifica en UE-V Generator produce 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 incorrecto 1: intervalo incompleto:

Solo está presente el atributo Minimum. También debe incluirse Maximum en un intervalo.

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

Ejemplo incorrecto 2: se especificó Minor sin elemento Major:

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

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

FileVersion

Obligatorio: False

Tipo: Cadena

FileVersion distingue entre la versión de lanzamiento de una aplicación publicada y los detalles de la versión de compilación interna 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 de producto de un archivo indica una identificación de la versión genérica de un archivo, mientras que la versión de archivo indica una compilación concreta de un archivo (como en el caso de una actualización o revisión). Así se identifican de forma única los archivos sin interrumpir la lógica de detección.

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

La inclusión de un elemento FileVersion en una aplicación permite una lógica de detección de ajuste más preciso, pero no es necesario en la mayoría de las aplicaciones. Primero se comprueban los valores del elemento ProductVersion y luego se comprueba FileVersion. Se aplicará el valor más restrictivo.

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

Application (elemento)

Application es un contenedor de valores que se aplican a una aplicación determinada. Se trata de una colección de los siguientes campos y tipos.

Campo/Tipo

Descripción

Nombre

Especifica un nombre único para la plantilla de ubicación de configuración. Se usa con fines de presentación al hacer referencia a la plantilla en los registros de WMI, PowerShell, Visor de sucesos y depuración. Para obtener más información, consulte Name (elemento).

ID

Rellena un identificador único para una plantilla determinada. Esta etiqueta se convierte en el identificador principal que UE-V Agent usa para hacer referencia a la plantilla en tiempo de ejecución. Para obtener más información, consulte ID (elemento).

Descripción

Descripción opcional de la plantilla.

LocalizedNames

Nombre opcional que se muestra en la interfaz de usuario, localizado con una configuración regional de idioma.

LocalizedDescriptions

Descripción opcional de la plantilla localizada con 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, consulte Version (elemento).

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 deshabilitará automáticamente.

DeferToOffice365

Similar a MSA, esta opción controla si esta plantilla está habilitada junto con Office365. Si se usa Office 365 con la configuración de sincronización, esta plantilla se deshabilitará automáticamente.

FixedProfile (introducida en 2.1)

Especifica que esta plantilla solo se puede asociar con el perfil especificado dentro de este elemento y no se puede cambiar a través de WMI o PowerShell.

Processes

Contenedor para una colección de uno o más elementos Process. Para obtener más información, consulte Processes y elemento Process.

Settings

Contenedor para todas las configuraciones que se aplican a una plantilla determinada. Contiene las instancias de los valores de Registry, File, SystemParameter y CustomAction. Para obtener más información, vea Settings en Tipos de datos.

Common (elemento)

Common es similar a un elemento Application, pero siempre está asociado a dos o más elementos Common . La sección Common representa el conjunto de configuración que se comparte entre las instancias de Application. Se trata de una colección de los siguientes campos y tipos.

Campo/Tipo

Descripción

Nombre

Especifica un nombre único para la plantilla de ubicación de configuración. Se usa con fines de presentación al hacer referencia a la plantilla en los registros de WMI, PowerShell, Visor de sucesos y depuración. Para obtener más información, consulte Name (elemento).

ID

Rellena un identificador único para una plantilla determinada. Esta etiqueta se convierte en el identificador principal que UE-V Agent usa para hacer referencia a la plantilla en tiempo de ejecución. Para obtener más información, consulte ID (elemento).

Descripción

Descripción opcional de la plantilla.

LocalizedNames

Nombre opcional que se muestra en la interfaz de usuario, localizado con una configuración regional de idioma.

LocalizedDescriptions

Descripción opcional de la plantilla localizada con 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, consulte Version (elemento).

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 deshabilitará automáticamente.

DeferToOffice365

Similar a MSA, esta opción controla si esta plantilla está habilitada junto con Office365. Si se usa Office 365 con la configuración de sincronización, esta plantilla se deshabilitará automáticamente.

FixedProfile (introducida en 2.1)

Especifica que esta plantilla solo se puede asociar con el perfil especificado dentro de este elemento y no se puede cambiar a través de WMI o PowerShell.

Settings

Contenedor para todas las configuraciones que se aplican a una plantilla determinada. Contiene las instancias de los valores de Registry, File, SystemParameter y CustomAction. Para obtener más información, vea Settings en Tipos de datos.

SettingsLocationTemplate (elemento)

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

Campo/Tipo

Descripción

Nombre

Especifica un nombre único para la plantilla de ubicación de configuración. Se usa con fines de presentación al hacer referencia a la plantilla en los registros de WMI, PowerShell, Visor de sucesos y depuración. Para obtener más información, consulte Name (elemento).

ID

Rellena un identificador único para una plantilla determinada. Esta etiqueta se convierte en el identificador principal que UE-V Agent usa para hacer referencia a la plantilla en tiempo de ejecución. Para obtener más información, consulte ID (elemento).

Descripción

Descripción opcional de la plantilla.

LocalizedNames

Nombre opcional que se muestra en la interfaz de usuario, localizado con una configuración regional de idioma.

LocalizedDescriptions

Descripción opcional de la plantilla localizada con una configuración regional de idioma.

Apéndice: SettingsLocationTemplate.xsd

Se trata del archivo SettingsLocationTemplate.xsd con 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>

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

En esta sección se describe la estructura XML de la plantilla de ubicación de configuración de UE-V 2.0, y se ofrecen instrucciones para modificar este archivo.

En esta sección

  • Atributo de codificación y declaración XML

  • Espacio de nombres y elemento raíz

  • Tipos de datos

  • Name (elemento)

  • ID (elemento)

  • Version (elemento)

  • Author (elemento)

  • Processes y elemento Process

  • Application (elemento)

  • Common (elemento)

  • SettingsLocationTemplate (elemento)

  • Apéndice: SettingsLocationTemplate.xsd

Atributo de codificación y declaración XML

Obligatorio: True

Tipo: Cadena

La declaración XML debe especificar el atributo de la versión 1.0 de XML (<?xml version="1.0">). Las plantillas de ubicación de configuración creadas con UE-V Generator se guardan en codificación UTF-8, aunque la codificación no se especifica explícitamente. Conviene incluir el atributo de codificación="UTF-8" de este elemento como práctica recomendada. Todas las plantillas que se incluyen con el producto especifican también esta etiqueta (vea los documentos disponibles en %ProgramFiles%\Microsoft User Experience Virtualization\Templates como referencia). Por ejemplo:

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

Espacio de nombres y elemento raíz

Obligatorio: True

Tipo: Cadena

UE-V usa el espacio de nombres https://schemas.microsoft.com/UserExperienceVirtualization/2012/SettingsLocationTemplate 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 son los tipos de datos del esquema de plantillas de aplicación de UE-V.

  • GUID
    GUID describe una expresión regular de identificador único global estándar en el formulario "\{[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}\}". Se usa en el elemento Filesetting\Root\KnownFolder para comprobar el formato de carpetas conocidas.
  • FilenameString
    FilenameString hace referencia al nombre de archivo de un proceso que se va a supervisar. Sus valores están restringidos por la regex [^\\\?\*\|<>/:]+, (es decir, puede que no contengan caracteres de barra diagonal inversa, los caracteres comodín de asterisco o signo de interrogación, el carácter de barra vertical, los signos de mayor que o menor que, los caracteres de barra diagonal o de dos puntos).
  • IDString
    IDString hace referencia al valor del identificador de elementos de aplicación, SettingsLocationTemplate y elementos comunes (que se usan para describir los conjuntos de aplicaciones que comparten opciones comunes). Está restringido por la misma 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.
  • Empty
    Empty hace referencia a un valor null. Se usa en Process\ShellProcess para indicar que no hay ningún proceso para supervisar. Este valor no debe usarse en las plantillas de aplicación.
  • Author
    Se trata de un tipo de datos 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.
  • Range
    Define una clase de tipo entero que consta de dos elementos secundarios: Minimum y Maximum. Este tipo de datos se implementa en el tipo de datos ProcessVersion. Si se especifica, deben incluirse los valores Minimum y Maximum.
  • ProcessVersion
    ProcessVersion define un tipo con cuatro elementos secundarios: Major, Minor, Build y Patch. Este tipo de datos se usa en el elemento Process para rellenar sus valores de ProductVersion y FileVersion. Los datos de este tipo son un valor Range. El elemento secundario Major es obligatorio y los demás son opcionales.
  • Arquitectura
    Architecture muestra dos valores posibles: Win32 y Win64. Estos valores sirven para especificar la arquitectura del proceso.
  • Process
    El tipo de datos Process es un contenedor que sirve para describir procesos que supervisará UE-V. Contiene seis elementos secundarios: Filename, Architecture, ProductName, FileDescription, ProductVersion y FileVersion. En esta tabla se detallan los tipos de datos correspondientes a cada elemento:

    Elemento Tipo de datos Obligatorio

    Filename

    FilenameString

    True

    Arquitectura

    Arquitectura

    False

    ProductName

    Cadena

    False

    FileDescription

    Cadena

    False

    ProductVersion

    ProcessVersion

    False

    FileVersion

    ProcessVersion

    False

  • Processes
    El tipo de datos Processes representa un contenedor para una colección de uno o más elementos Process. Se admiten dos elementos secundarios en el tipo de secuencia de Processes: Process y ShellProcess. Process es un elemento del tipo Process y ShellProcess es del tipo de datos Empty. Debe identificarse al menos un elemento en la secuencia.
  • Ruta de acceso
    Path lo usan RegistrySetting y FileSetting para hacer referencia a rutas de acceso de archivo y del Registro. Este elemento admite dos atributos opcionales: Recursive y DeleteIfNotFound. Ambos valores se establecen en el valor predeterminado = "False".

    Recursive indica que la ruta de acceso y todas sus subcarpetas se incluyen con la configuración del archivo o que todas las claves del Registro se incluyen con la configuración del Registro. En ambos casos, se incluyen todos los elementos en el nivel actual de 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 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 capturar grandes conjuntos de datos o un gran número de elementos.

    El atributo DeleteIfNotFound quita el valor de los datos de ruta de acceso de almacenamiento de configuración del usuario. Puede que esto sea conveniente en aquellos casos en los que quitar estos valores del paquete ahorre gran cantidad de espacio en disco en el servidor de archivos de ruta de acceso de almacenamiento de configuración.

  • FileMask
    FileMask solo especifica determinados tipos de archivo para la carpeta que se define con Path. Por ejemplo, Path podría ser C:\users\username\files y FileMask podría ser *.txt para incluir solo archivos de texto.
  • RegistrySetting
    RegistrySetting representa un contenedor para las claves y los valores del Registro, y el comportamiento asociado que se quiera por parte de UE-V Agent. 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 los archivos y las rutas de acceso de archivos. Se definen cuatro elementos secundarios: Root, Path, FileMask y Exclude. Root es obligatorio y los demás son opcionales.
  • Settings
    Settings es un contenedor para todos los valores que se aplican a una plantilla determinada. Contiene las 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

    Asynchronous

    Los paquetes de configuración Asynchronous se aplican sin bloquear el inicio de la aplicación, de modo que este continúe mientras aún se aplica la configuración. Esto resulta útil en el caso de valores que se pueden aplicar asincrónicamente como, por ejemplo, los proporcionados por get/set a través 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, aunque se estén ejecutando otras instancias de una aplicación. Plantillas adecuadas: las que incluyen una sección de elemento Common, que se suministran con UE-V usan esta marca para permitir que la configuración compartida se exporte siempre al cerrar la aplicación, al tiempo que impide que la configuración específica de la aplicación se exporte hasta que se cierra la última instancia.

Name (elemento)

Obligatorio: True

Tipo: Cadena

Name especifica un nombre único para la plantilla de ubicación de configuración. Se usa con fines de presentación al hacer referencia a la plantilla en los registros de WMI, PowerShell, Visor de sucesos y depuración. En general, evite hacer referencia a información de versión, ya que esto puede impugnarlo 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 las DTD externas, 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 a al signo de marca registrada ®. En su lugar, use referencias canónicas de numeración para incluir estos tipos de caracteres especiales, por ejemplo, &#174 para el carácter ®. Esta regla se aplica a todos los valores de cadena en este documento.

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

ID (elemento)

Obligatorio: True

Tipo: Cadena

ID rellena un identificador único para una plantilla determinada. Esta etiqueta se convierte en el identificador principal que UE-V Agent usa para hacer referencia a la plantilla en tiempo de ejecución (por ejemplo, para ver el resultado de los cmdlets Get-UevTemplate y Get-UevTemplateProgram de PowerShell). 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 la fácil identificación de la plantilla, por ejemplo, <ID>MicrosoftCalculator6</ID> o <ID>MicrosoftOffice2010Win64</ID>.

Version (elemento)

Obligatorio: True

Tipo: Entero

Valor mínimo: 0

Valor máximo: 2147483647

Version identifica la versión de la plantilla de ubicación de configuración para el seguimiento administrativo de los cambios. UE-V Generator 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; los valores fraccionarios, como <Version>2.5</Version> no están permitidos.

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 estos casos:

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

  • Cuando se ejecuta el cmdlet Update-UevTemplate de PowerShell

  • Cuando se llama al método de actualización microsoft\uev:SettingsLocationTemplate a través de WMI

Author (elemento)

Obligatorio: False

Tipo: 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 por el elemento Name. Author hace referencia al nombre completo del contacto para la plantilla de ubicación de configuración y Email debe hacer referencia a una dirección de correo electrónico del autor. Se recomienda incluir esta información en las plantillas de publicación, por ejemplo, en la Galería de plantillas de UE-V.

Processes y elemento Process

Obligatorio: True

Tipo: Elemento

Processes contiene al menos un elemento <Process>, que a su vez contiene los elementos secundarios siguientes: 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 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>

Filename

Obligatorio: True

Tipo: 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 UE-V usa para evaluar si una plantilla se aplica a un proceso o no. Este elemento debe especificarse en el XML de la plantilla de ubicación de configuración.

Los valores válidos de Filename no deben coincidir con la expresión regular [^\\\?\*\|<>/:]+, es decir, puede que no contengan caracteres de barra diagonal inversa, los caracteres comodín de asterisco o signo de interrogación, el carácter de barra vertical, los signos de mayor que o menor que, los caracteres de barra diagonal o de dos puntos (los caracteres \ ? * | < > / o :).

Sugerencia: Para probar una cadena con esta regex, use una ventana de comandos de PowerShell y reemplace el nombre del archivo ejecutable por YourFileName:

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

Un valor de True indica que la cadena contiene caracteres no válidos. A continuación se ofrecen algunos ejemplos de valores no válidos:

  • \\server\share\program.exe

  • Program*.exe

  • Pro?ram.exe

  • Program<1>.exe

Nota

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

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

Arquitectura

Obligatorio: False

Tipo: Arquitectura (cadena)

Architecture se refiere a la arquitectura del procesador en el que se compiló el archivo 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 en particular. Para obtener un ejemplo de esto, compare los archivos %ProgramFiles%\Microsoft User Experience Virtualization\templates\ MicrosoftOffice2010Win32.xml y MicrosoftOffice2010Win64.xml que se incluyen con UE-V. Esto es resulta útil cuando las rutas de acceso relativas cambian entre distintas versiones de un archivo ejecutable, o si agregan o quitan al pasar de una arquitectura de procesador a otra.

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

Nota

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

ProductName

Obligatorio: False

Tipo: Cadena

ProductName es un elemento opcional que sirve para identificar un producto a efectos administrativos o de informes. ProductName difiere de Filename en que no hay ninguna restricción de expresión regular en su valor. Esto facilita la comprensión de las descripciones de un proceso en el que nombre del archivo ejecutable no sea evidente. 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: Cadena

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

Por ejemplo, en una aplicación que forme parte de un conjunto, convendría proporcionar avisos sobre la función de dos archivos ejecutables (MyApplication.exe y MyApplicationHelper.exe), tal y 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: Cadena

ProductVersion hace referencia a las versiones de producto principal y secundaria 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 Major. El valor debe expresar un intervalo en forma de Minimum="X" Maximum="Y", donde X e Y son valores enteros. Los valores Minimum y Maximum pueden ser idénticos.

Puede que los elementos de versión de producto y archivo no se especifiquen. Esto hace que la plantilla sea "independiente de versión", lo que significa que la plantilla se aplicará a todas las versiones del archivo ejecutable especificado.

Ejemplo 1:

Versión de producto: 1.0 que se especifica en UE-V Generator produce el siguiente XML:

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

Ejemplo 2:

Versión de archivo: 5.0.2.1000 que se especifica en UE-V Generator produce 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 incorrecto 1: intervalo incompleto:

Solo está presente el atributo Minimum. También debe incluirse Maximum en un intervalo.

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

Ejemplo incorrecto 2: se especificó Minor sin elemento Major:

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

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

FileVersion

Obligatorio: False

Tipo: Cadena

FileVersion distingue entre la versión de lanzamiento de una aplicación publicada y los detalles de la versión de compilación interna 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 de producto de un archivo indica una identificación de la versión genérica de un archivo, mientras que la versión de archivo indica una compilación concreta de un archivo (como en el caso de una actualización o revisión). Así se identifican de forma única los archivos sin interrumpir la lógica de detección.

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

La inclusión de un elemento FileVersion en una aplicación permite una lógica de detección de ajuste más preciso, pero no es necesario en la mayoría de las aplicaciones. Primero se comprueban los valores del elemento ProductVersion y luego se comprueba FileVersion. Se aplicará el valor más restrictivo.

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

Application (elemento)

Application es un contenedor de valores que se aplican a una aplicación determinada. Se trata de una colección de los siguientes campos y tipos.

Campo/Tipo Descripción

Nombre

Especifica un nombre único para la plantilla de ubicación de configuración. Se usa con fines de presentación al hacer referencia a la plantilla en los registros de WMI, PowerShell, Visor de sucesos y depuración. Para obtener más información, consulte Name (elemento).

ID

Rellena un identificador único para una plantilla determinada. Esta etiqueta se convierte en el identificador principal que UE-V Agent usa para hacer referencia a la plantilla en tiempo de ejecución. Para obtener más información, consulte ID (elemento).

Descripción

Descripción opcional de la plantilla.

LocalizedNames

Nombre opcional que se muestra en la interfaz de usuario, localizado con una configuración regional de idioma.

LocalizedDescriptions

Descripción opcional de la plantilla localizada con 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, consulte Version (elemento).

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 deshabilitará automáticamente.

DeferToOffice365

Similar a MSA, esta opción controla si esta plantilla está habilitada junto con Office365. Si se usa Office 365 con la configuración de sincronización, esta plantilla se deshabilitará automáticamente.

Processes

Contenedor para una colección de uno o más elementos Process. Para obtener más información, consulte Processes y elemento Process.

Settings

Contenedor para todas las configuraciones que se aplican a una plantilla determinada. Contiene las instancias de los valores de Registry, File, SystemParameter y CustomAction. Para obtener más información, vea Settings en Tipos de datos.

Common (elemento)

Common es similar a un elemento Application, pero siempre está asociado a dos o más elementos Common . La sección Common representa el conjunto de configuración que se comparte entre las instancias de Application. Se trata de una colección de los siguientes campos y tipos.

Campo/Tipo Descripción

Nombre

Especifica un nombre único para la plantilla de ubicación de configuración. Se usa con fines de presentación al hacer referencia a la plantilla en los registros de WMI, PowerShell, Visor de sucesos y depuración. Para obtener más información, consulte Name (elemento).

ID

Rellena un identificador único para una plantilla determinada. Esta etiqueta se convierte en el identificador principal que UE-V Agent usa para hacer referencia a la plantilla en tiempo de ejecución. Para obtener más información, consulte ID (elemento).

Descripción

Descripción opcional de la plantilla.

LocalizedNames

Nombre opcional que se muestra en la interfaz de usuario, localizado con una configuración regional de idioma.

LocalizedDescriptions

Descripción opcional de la plantilla localizada con 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, consulte Version (elemento).

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 deshabilitará automáticamente.

DeferToOffice365

Similar a MSA, esta opción controla si esta plantilla está habilitada junto con Office365. Si se usa Office 365 con la configuración de sincronización, esta plantilla se deshabilitará automáticamente.

Settings

Contenedor para todas las configuraciones que se aplican a una plantilla determinada. Contiene las instancias de los valores de Registry, File, SystemParameter y CustomAction. Para obtener más información, vea Settings en Tipos de datos.

SettingsLocationTemplate (elemento)

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

Campo/Tipo Descripción

Nombre

Especifica un nombre único para la plantilla de ubicación de configuración. Se usa con fines de presentación al hacer referencia a la plantilla en los registros de WMI, PowerShell, Visor de sucesos y depuración. Para obtener más información, consulte Name (elemento).

ID

Rellena un identificador único para una plantilla determinada. Esta etiqueta se convierte en el identificador principal que UE-V Agent usa para hacer referencia a la plantilla en tiempo de ejecución. Para obtener más información, consulte ID (elemento).

Descripción

Descripción opcional de la plantilla.

LocalizedNames

Nombre opcional que se muestra en la interfaz de usuario, localizado con una configuración regional de idioma.

LocalizedDescriptions

Descripción opcional de la plantilla localizada con una configuración regional de idioma.

Apéndice: SettingsLocationTemplate.xsd

Se trata del archivo SettingsLocationTemplate.xsd con 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/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>

¿Tiene alguna sugerencia sobre UE-V?

Agregue o vote sugerencias aquí. Para problemas de UE-V, use el foro de TechNet de UE-V.

Véase también

Conceptos

Trabajo con plantillas personalizadas de UE-V 2.x y UE-V 2.x Generator

Otros recursos

Referencia técnica para UE-V 2.x