Compartilhar via


Referência do esquema do modelo de aplicação para UE-V 2.1 SP1

O Microsoft User Experience Virtualization (UE-V) 2.1 SP1 utiliza modelos de localização de definições XML para definir as definições da aplicação de ambiente de trabalho e as definições do Windows que o UE-V captura e aplica. O UE-V inclui um conjunto de modelos de localização de predefinições. Também pode criar modelos de localização de definições personalizadas com o gerador UE-V.

Um utilizador avançado pode personalizar o ficheiro XML para um modelo de localização de definições. Este artigo detalha a estrutura XML dos modelos de localização de definições do UE-V 2.1 SP1 e fornece orientações para editar estes ficheiros.

Ue-V 2.1 SP1 application template schema reference (Referência do esquema de modelo de aplicação UE-V 2.1 SP1)

Esta secção detalha a estrutura XML do modelo de localização de definições do UE-V 2.1 SP1 e fornece orientações para editar este ficheiro.

Atributo de declaração e codificação XML

Obrigatório: Verdadeiro

Tipo: Cadeia

A declaração XML tem de especificar o atributo XML versão 1.0 (<?xml version="1.0">). Os modelos de localização de definições criados pelo gerador UE-V são guardados na codificação UTF-8, embora a codificação não seja especificada explicitamente. Recomendamos que inclua o atributo encoding="UTF-8" neste elemento como melhor prática. Todos os modelos incluídos no produto também especificam esta etiqueta. Para referência, consulte os documentos em %ProgramFiles%\Microsoft User Experience Virtualization\Templates.

Por exemplo:

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

Espaço de nomes e elemento raiz

Obrigatório: Verdadeiro

Tipo: Cadeia

O UE-V utiliza o https://schemas.microsoft.com/UserExperienceVirtualization/2012/SettingsLocationTemplate espaço de nomes para todas as aplicações. SettingsLocationTemplate é o elemento raiz e contém todos os outros elementos. Referência SettingsLocationTemplate em todos os modelos com esta etiqueta:

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

Tipos de dados

Estes itens são os tipos de dados para o esquema de modelo de aplicação UE-V.

  • GUID: o GUID descreve uma expressão regular (regex) de identificador exclusivo global (GUID) padrão no 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 é utilizado no Filesetting\Root\KnownFolder elemento para verificar a formatação de pastas conhecidas.

  • FilenameString: FilenameString refere-se ao nome de ficheiro de um processo a monitorizar. A expressão regular seguinte restringe os respetivos valores: [^\\\?\*\|<>/:]+. Por outras palavras, não podem conter os seguintes carateres:

    • Carateres de barra invertida (\)
    • Asterisco (*)
    • Ponto de interrogação (?)
    • Caráter de pipe (|)
    • Sinal maior que (>)
    • Sinal menor que (<)
    • Barra (/)
    • Dois pontos (:)
  • IDString: IDString refere-se ao valor de ID de Elementos da aplicação, DefiniçõesLocationTemplate e Elementos comuns (utilizados para descrever conjuntos de aplicações que partilham definições comuns). É restringido pelo mesmo regex que FilenameString ([^\\\?\*\|<>/:]+).

  • TemplateVersion: TemplateVersion é um valor inteiro utilizado para descrever a revisão do modelo de localização de definições. O respetivo valor pode variar entre 0 e 2147483647.

  • Vazio: Vazio refere-se a um valor nulo. Estes dados são utilizados em Process\ShellProcess para indicar que não existe nenhum processo a monitorizar. Este valor não deve ser utilizado em nenhum modelo de aplicação.

  • Autor: o tipo de dados Autor é um tipo complexo que identifica o autor de um modelo. Contém dois elementos subordinados: Nome e E-mail. No tipo de dados Autor, o elemento Nome é obrigatório enquanto o elemento E-mail é opcional. Este tipo é descrito mais detalhadamente no elemento SettingsLocationTemplate.

  • Intervalo: o intervalo define uma classe de número inteiro composta por dois elementos subordinados: Mínimo e Máximo. Este tipo de dados é implementado no tipo de dados ProcessVersion. Se especificado, os valores Mínimo e Máximo têm de ser incluídos.

  • ProcessVersion: ProcessVersion define um tipo com quatro elementos subordinados: Major, Minor, Build e Patch. Este tipo de dados é utilizado pelo elemento Processo para preencher os respetivos valores ProductVersion e FileVersion. Os dados para este tipo são um valor de Intervalo. O elemento principal subordinado é obrigatório e os outros são opcionais.

  • Arquitetura: a arquitetura enumera dois valores possíveis: Win32 e Win64. Estes valores são utilizados para especificar a arquitetura do processo.

  • Processo: o tipo de dados Processo é um contentor utilizado para descrever os processos de UE-V a monitorizar. Contém seis elementos subordinados: Filename, Architecture, ProductName, FileDescription, ProductVersion e FileVersion. Esta tabela detalha o respetivo tipo de dados de cada elemento:

Elemento Tipo de Dados Obrigatório
Nome do ficheiro FilenameString True
Arquitetura Arquitetura False
ProductName String False
FileDescription String False
ProductVersion ProcessVersion False
FileVersion ProcessVersion False
  • Processos: o tipo de dados Processos representa um contentor para uma coleção de um ou mais elementos de Processo. Dois elementos subordinados são suportados no tipo de sequência Processos: Processo e ShellProcess. O processo é um elemento do tipo Processo e ShellProcess é do tipo de dados Vazio. Pelo menos um item tem de ser identificado na sequência.

  • Caminho: o caminho é consumido por RegistrySetting e FileSetting para fazer referência aos caminhos do registo e do ficheiro. Este elemento suporta dois atributos opcionais: Recursivo e DeleteIfNotFound. Ambos os valores estão definidos como default="False".

    Recursivo indica que o caminho e todas as subpastas estão incluídos nas definições de ficheiro ou que todas as chaves de registo subordinadas estão incluídas para as definições do registo. Em ambos os casos, todos os itens no nível atual estão incluídos nos dados capturados. Para um objeto FileSettings, todos os ficheiros na pasta especificada são incluídos nos dados capturados pelo UE-V, mas as pastas não estão incluídas. Para caminhos de registo, todos os valores no caminho atual são capturados, mas as chaves do registo subordinado não são capturadas. Em ambos os casos, deve ter cuidado para evitar a captura de grandes conjuntos de dados ou um grande número de itens.

    O atributo DeleteIfNotFound remove a definição dos dados do caminho de armazenamento das definições do utilizador. Este atributo pode ser útil nos casos em que a remoção destas definições do pacote poupa uma grande quantidade de espaço em disco no servidor de ficheiros do caminho de armazenamento de definições.

  • FileMask: FileMask especifica apenas determinados tipos de ficheiro para a pasta que o atributo Path define. Por exemplo, Path pode ser C:\users\username\files e FileMask pode incluir *.txt apenas ficheiros de texto.

  • RegistrySetting: RegistrySetting representa um contentor para chaves e valores de registo e o comportamento pretendido associado por parte do Agente UE-V. São definidos quatro elementos subordinados neste tipo: Caminho, Nome, Excluir e uma sequência dos valores Caminho e Nome.

  • FileSetting: FileSetting contém parâmetros associados a ficheiros e caminhos de ficheiros. São definidos quatro elementos subordinados: Raiz, Caminho, Máscara de Ficheiros e Excluir. A raiz é obrigatória e as outras são opcionais.

  • Definições: o atributo Definições é um contentor para todas as definições que se aplicam a um modelo específico. Contém instâncias das definições Registo, Ficheiro, SystemParameter e CustomAction descritas anteriormente. Além disso, também pode conter os seguintes elementos subordinados com comportamentos descritos:

Elemento Descrição
Assíncrono Os pacotes de definições assíncronas são aplicados sem bloquear o arranque da aplicação para que o início da aplicação continue enquanto as definições ainda estão a ser aplicadas. Este elemento é útil para definições que podem ser aplicadas de forma assíncrona, como as que são get/set através de uma API, como SystemParameterSetting.
PreventOverlappingSynchronization Por predefinição, o UE-V só guarda as definições de uma aplicação quando a última instância de uma aplicação que utiliza o modelo é fechada. Quando este elemento está definido como falso, UE-V exporta as definições mesmo que outras instâncias de uma aplicação estejam em execução. Os modelos adequados - aqueles que incluem uma secção de elemento Comum - que são enviados com UE-V utilizam este sinalizador para permitir que as definições partilhadas exportem sempre ao fechar a aplicação, ao mesmo tempo que impedem que as definições específicas da aplicação sejam exportadas até que a última instância seja fechada.
AlwaysApplySettings Este parâmetro força a aplicação de um pacote de definições importado, mesmo que não existam diferenças entre o pacote e o estado atual da aplicação. Este parâmetro deve ser utilizado apenas em casos especiais, uma vez que pode abrandar a importação de definições.

Name element (Elemento name)

Obrigatório: Verdadeiro

Tipo: Cadeia

O nome especifica um nome exclusivo para o modelo de localização de definições. Isto é utilizado para fins de apresentação ao referenciar o modelo no WMI, PowerShell, Visualizador de Eventos e registos de depuração. Em geral, evite referenciar informações de versão, uma vez que pode ser objeto do elemento ProductVersion. Por exemplo, especifique <Name>My Application</Name> em vez de <Name>My Application 1.1</Name>.

Observação

O UE-V não referencia DTDs externos, pelo que não é possível utilizar entidades nomeadas num modelo de localização de definições. Por exemplo, não utilize &reg; para fazer referência ao sinal de marca registada (®). Em vez disso, utilize referências numeradas canónicas para incluir estes tipos de carateres especiais, por exemplo, &#174 para o caráter de marca registada (®). Esta regra aplica-se a todos os valores de cadeia neste documento.

Para obter uma lista completa das entidades de carateres, veja W3 XHTML 1.0 - DTDs. Os documentos codificados com UTF-8 podem incluir diretamente os carateres Unicode. Guardar modelos através do gerador UE-V converte as entidades de carateres nas respetivas representações Unicode automaticamente.

Elemento ID

Obrigatório: Verdadeiro

Tipo: Cadeia

O ID preenche um identificador exclusivo para um modelo específico. Esta etiqueta torna-se o identificador principal que o Agente UE-V utiliza para referenciar o modelo no runtime (por exemplo, veja o resultado do Get-UevTemplate e Get-UevTemplateProgram cmdlets do PowerShell). Por convenção, esta etiqueta não deve conter espaços, o que simplifica os scripts. Os números de versão das aplicações devem ser especificados neste elemento para permitir uma identificação fácil do modelo, como <ID>MicrosoftCalculator6</ID> ou <ID>MicrosoftOffice2010Win64</ID>.

Elemento de versão

Obrigatório: Verdadeiro

Tipo: Número inteiro

Valor Mínimo: 0

Valor Máximo: 2147483647

A versão identifica a versão do modelo de localização das definições para controlo administrativo das alterações. O gerador UE-V incrementa automaticamente este número em cada vez que o modelo é guardado. Repare que este campo tem de ser um número inteiro inteiro; valores fracionários, tais como <Version>2.5</Version> não são permitidos.

Dica

Pode guardar notas sobre alterações de versões com etiquetas <!-- -->de comentários XML, por exemplo:

  <!--
     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 é consultado para determinar se uma nova versão de um modelo deve ser aplicada a um modelo existente nestas instâncias:

  • Quando a tarefa de Atualização Automática de Modelo agendada for executada.

  • Quando o cmdlet Update-UevTemplate PowerShell é executado.

  • Quando o microsoft\uev:SettingsLocationTemplate método Update é chamado através da WMI.

Elemento autor

Obrigatório: Falso

Tipo: Cadeia

O autor identifica o criador do modelo de localização de definições. São suportados dois elementos subordinados opcionais: Nome e E-mail. Ambos os atributos são opcionais, mas, se o elemento Subordinado de e-mail for especificado, tem de ser acompanhado pelo elemento Nome. Autor refere-se ao nome completo do contacto para o modelo de localização de definições e o e-mail deve referir-se a um endereço de e-mail do autor. Recomendamos que inclua estas informações nos modelos que publicar publicamente.

Processos e elemento de processo

Obrigatório: Verdadeiro

Tipo: Elemento

O elemento Processos contém, pelo menos, um <Process> elemento que, por sua vez, contém os seguintes elementos subordinados: Filename, Architecture, ProductName, FileDescription, ProductVersion e FileVersion. O elemento subordinado Nome de ficheiro é obrigatório e os outros são opcionais. Um elemento totalmente preenchido contém etiquetas semelhantes a este exemplo:

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

Nome do ficheiro

Obrigatório: Verdadeiro

Tipo: Cadeia

Filename refere-se ao nome de ficheiro real do executável tal como aparece no sistema de ficheiros. Este elemento especifica o critério principal que UE-V utiliza para avaliar se um modelo se aplica ou não a um processo. Este elemento tem de ser especificado no XML do modelo de localização de definições.

Os nomes de ficheiro válidos não podem corresponder à seguinte expressão regular: [^\\\?\*\|<>/:]+. Por outras palavras, não podem conter os seguintes carateres:

  • Carateres de barra invertida (\)
  • Asterisco (*)
  • Ponto de interrogação (?)
  • Caráter de pipe (|)
  • Sinal maior que (>)
  • Sinal menor que (<)
  • Barra (/)
  • Dois pontos (:)

Dica

Para testar uma cadeia com este regex, utilize uma janela de comandos do PowerShell e substitua o nome do executável por YourFileName:

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

Um valor de Verdadeiro indica que a cadeia contém carateres ilegais. Eis alguns exemplos de valores ilegais:

  • \\server\share\program.exe

  • Program*.exe

  • Pro?ram.exe

  • Program<1>.exe

Observação

O gerador UE-V codifica os carateres maiores e menores &gt; que e &lt; respetivamente.

Em circunstâncias raras, o valor FileName não inclui necessariamente a extensão .exe, mas deve ser especificado como parte do valor. Por exemplo, <Filename>MyApplictication.exe</Filename> deve ser especificado em vez de <Filename>MyApplictication</Filename>. O segundo exemplo não aplicará o modelo ao processo se o nome real do ficheiro executável for MyApplication.exe.

Arquitetura

Obrigatório: Falso

Tipo: Arquitetura (Cadeia)

Arquitetura refere-se à arquitetura do processador para a qual o executável de destino foi compilado. Os valores válidos são Win32 para aplicações de 32 bits ou Win64 para aplicações de 64 bits. Se estiver presente, esta etiqueta limita a aplicabilidade do modelo de localização de definições a uma arquitetura de aplicação específica. Por exemplo, compare os %ProgramFiles%\Microsoft User Experience Virtualization\templates\MicrosoftOffice2010Win32.1SP1.xml ficheiros e MicrosoftOffice2010Win64.xml incluídos com UE-V. Isto é útil quando os caminhos relativos mudam entre diferentes versões de um executável ou se as definições são adicionadas ou removidas ao mover de uma arquitetura de processador para outra.

Se este elemento estiver ausente, o modelo de localização de definições ignora a arquitetura do processo e aplica-se a processos de 32 bits e de 64 bits se o nome do ficheiro e outros atributos se aplicarem.

Observação

O UE-V não suporta processadores ARM nesta versão.

ProductName

Obrigatório: Falso

Tipo: Cadeia

ProductName é um elemento opcional utilizado para identificar um produto para fins administrativos ou relatórios. O ProductName difere do Nome de ficheiro, uma vez que não existem restrições de expressão regulares no respetivo valor. Isto permite descrições mais facilmente compreendidas de um processo em que o nome executável não é óbvio. Por exemplo:

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

FileDescription

Obrigatório: Falso

Tipo: Cadeia

FileDescription é uma etiqueta opcional que permite uma descrição administrativa do ficheiro executável. Este é um campo de texto livre e pode ser útil para distinguir vários executáveis num pacote de software onde é necessário identificar a função do executável.

Por exemplo, numa aplicação adequada, pode ser útil fornecer lembretes sobre a função de dois executáveis (MyApplication.exe e MyApplicationHelper.exe), conforme mostrado aqui:

<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

Obrigatório: Falso

Tipo: Cadeia

ProductVersion refere-se às versões principais e secundárias dos produtos de um ficheiro, bem como a um nível de criação e patch. ProductVersion é um elemento opcional, mas, se especificado, tem de conter, pelo menos, o elemento subordinado Principal. O valor tem de expressar um intervalo no formulário Minimum="X" Maximum="Y" em que X e Y são números inteiros. Os valores Mínimo e Máximo podem ser idênticos.

Os elementos da versão do produto e do ficheiro podem não ser especificados. Ao fazê-lo, torna a versão do modelo agnóstica, o que significa que o modelo se aplica a todas as versões do executável especificado.

Exemplo 1: Versão do produto 1.0

Versão do produto: 1.0 especificado no gerador UE-V produz o seguinte XML:

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

Exemplo 2: Versão do produto 5.0.2.1000

Versão do ficheiro: 5.0.2.1000 especificado no gerador UE-V produz o seguinte XML:

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

Exemplo incorreto 1 - intervalo incompleto

Apenas o atributo Mínimo está presente. O máximo também tem de ser incluído num intervalo.

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

Exemplo incorreto 2 – Menor especificado sem o elemento Major

Apenas o elemento Menor está presente. Major também tem de ser incluído.

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

FileVersion

Obrigatório: Falso

Tipo: Cadeia

FileVersion diferencia entre a versão de lançamento de uma aplicação publicada e os detalhes de compilação internos de um componente executável. Para a maioria das aplicações comerciais, estes números são idênticos. Quando variam, a versão do produto de um ficheiro indica uma identificação de versão genérica de um ficheiro, enquanto a versão do ficheiro indica uma compilação específica de um ficheiro (como numa correção ou atualização). Esta ação identifica exclusivamente os ficheiros sem quebrar a lógica de deteção.

Para determinar a versão do produto e a versão do ficheiro de um determinado executável, clique com o botão direito do rato no ficheiro no Explorador do Windows, selecione Propriedades e, em seguida, selecione no separador Detalhes.

Incluir um elemento FileVersion para uma aplicação permite uma lógica de deteção de otimização mais granular, mas não é necessário para a maioria das aplicações. As definições do elemento ProductVersion são verificadas primeiro e, em seguida, FileVersion é verificado. Aplica-se a definição mais restritiva.

Os elementos subordinados e as regras de sintaxe para FileVersion são idênticos aos da 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 do aplicativo

A aplicação é um contentor para definições que se aplicam a uma determinada aplicação. É uma coleção dos seguintes campos/tipos.

Campo/Tipo Descrição
Name Especifica um nome exclusivo para o modelo de localização de definições. Isto é utilizado para fins de apresentação ao referenciar o modelo no WMI, PowerShell, Visualizador de Eventos e registos de depuração. Para obter mais informações, consulte Nome.
ID Preenche um identificador exclusivo para um modelo específico. Esta etiqueta torna-se o identificador principal que o Agente UE-V utiliza para referenciar o modelo no runtime. Para obter mais informações, veja ID.
Descrição Uma descrição opcional do modelo.
Nomes Localizados Um nome opcional apresentado na IU, localizado por uma região de idioma.
LocalizedDescriptions Uma descrição de modelo opcional localizada por uma região de idioma.
Versão Identifica a versão do modelo de localização das definições para controlo administrativo das alterações. Para obter mais informações, consulte Versão.
DeferToMSAccount Controla se este modelo está ou não ativado com uma conta Microsoft. Se a sincronização MSA estiver ativada para um utilizador num computador, este modelo será automaticamente desativado.
DeferToOffice365 Semelhante ao MSA, isto controla se este modelo está ativado com o Office365. Se o Office 365 estiver a ser utilizado para sincronizar as definições, este modelo é automaticamente desativado.
FixedProfile Especifica que este modelo só pode ser associado ao perfil especificado neste elemento e não pode ser alterado através do WMI ou do PowerShell.
Processos Um contentor para uma coleção de um ou mais elementos de Processo. Para obter mais informações, veja Processos.
Configurações Um contentor para todas as definições que se aplicam a um modelo específico. Contém instâncias das definições Registo, Ficheiro, SystemParameter e CustomAction. Para obter mais informações, veja Definições em Tipos de dados.

Elemento comum

Comum é semelhante a um elemento da Aplicação, mas está sempre associado a dois ou mais elementos da Aplicação. A secção Comum representa o conjunto de definições que são partilhadas entre essas instâncias da Aplicação. É uma coleção dos seguintes campos/tipos.

Campo/Tipo Descrição
Name Especifica um nome exclusivo para o modelo de localização de definições. Isto é utilizado para fins de apresentação ao referenciar o modelo no WMI, PowerShell, Visualizador de Eventos e registos de depuração. Para obter mais informações, consulte Nome.
ID Preenche um identificador exclusivo para um modelo específico. Esta etiqueta torna-se o identificador principal que o Agente UE-V utiliza para referenciar o modelo no runtime. Para obter mais informações, veja ID.
Descrição Uma descrição opcional do modelo.
Nomes Localizados Um nome opcional apresentado na IU, localizado por uma região de idioma.
LocalizedDescriptions Uma descrição de modelo opcional localizada por uma região de idioma.
Versão Identifica a versão do modelo de localização das definições para controlo administrativo das alterações. Para obter mais informações, consulte Versão.
DeferToMSAccount Controla se este modelo está ou não ativado com uma conta Microsoft. Se a sincronização MSA estiver ativada para um utilizador num computador, este modelo será automaticamente desativado.
DeferToOffice365 Semelhante ao MSA, isto controla se este modelo está ativado com o Office365. Se o Office 365 estiver a ser utilizado para sincronizar as definições, este modelo é automaticamente desativado.
FixedProfile Especifica que este modelo só pode ser associado ao perfil especificado neste elemento e não pode ser alterado através do WMI ou do PowerShell.
Configurações Um contentor para todas as definições que se aplicam a um modelo específico. Contém instâncias das definições Registo, Ficheiro, SystemParameter e CustomAction. Para obter mais informações, veja Definições em Tipos de dados.

SettingsLocationTemplate element (Elemento SettingsLocationTemplate)

Este elemento define as definições para uma única aplicação ou um conjunto de aplicações.

Campo/Tipo Descrição
Name Especifica um nome exclusivo para o modelo de localização de definições. Isto é utilizado para fins de apresentação ao referenciar o modelo no WMI, PowerShell, Visualizador de Eventos e registos de depuração. Para obter mais informações, consulte Nome.
ID Preenche um identificador exclusivo para um modelo específico. Esta etiqueta torna-se o identificador principal que o Agente UE-V utiliza para referenciar o modelo no runtime. Para obter mais informações, veja ID.
Descrição Uma descrição opcional do modelo.
Nomes Localizados Um nome opcional apresentado na IU, localizado por uma região de idioma.
LocalizedDescriptions Uma descrição de modelo opcional localizada por uma região de idioma.

Apêndice: SettingsLocationTemplate.xsd

Eis o ficheiro SettingsLocationTemplate.xsd que mostra os respetivos elementos, elementos subordinados, atributos e 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>

Trabalhar com modelos UE-V 2.1 SP1 personalizados e o gerador UE-V 2.1 SP1

Referência técnica para UE-V 2.1 SP1