다음을 통해 공유


UE-V에 대한 애플리케이션 템플릿 스키마 참조(Windows 10)

UE-V(사용자 환경 가상화)는 XML 설정 위치 템플릿을 사용하여 UE-V에서 캡처하고 적용하는 데스크톱 애플리케이션 설정 및 Windows 설정을 정의합니다. UE-V에는 기본 설정 위치 템플릿 집합이 포함되어 있습니다. UE-V 템플릿 생성기를 사용하여 사용자 지정 설정 위치 템플릿을 만들 수도 있습니다.

고급 사용자는 설정 위치 템플릿에 대한 XML 파일을 사용자 지정할 수 있습니다. 이 항목에서는 UE-V 설정 위치 템플릿의 XML 구조에 대해 자세히 설명하며 이러한 파일을 편집하기 위한 지침을 제공합니다.

UE-V 애플리케이션 템플릿 스키마 참조

이 섹션에서는 UE-V 설정 위치 템플릿의 XML 구조를 자세히 설명하며 이 파일을 편집하기 위한 지침을 제공합니다.

이 섹션의 내용

XML 선언 및 인코딩 특성

필수: True형식: String

XML 선언은 XML 버전 1.0 특성(<?xml version="1.0">)을 지정해야 합니다. 인코딩이 명시적으로 지정되지는 않았지만 UE-V 템플릿 생성기에서 만든 설정 위치 템플릿은 UTF-8 인코딩에 저장됩니다. 이 요소에 인코딩="UTF-8" 특성을 모범 사례로 포함하는 것이 좋습니다. 제품에 포함된 모든 템플릿도 이 태그를 지정합니다(참조는 %ProgramFiles%\Microsoft User Experience Virtualization\Templates의 문서 참조). 예시:

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

네임스페이스 및 루트 요소

필수: True형식: String

UE-V는 모든 애플리케이션에 https://schemas.microsoft.com/UserExperienceVirtualization/2012/SettingsLocationTemplate 네임스페이스를 사용합니다. SettingsLocationTemplate은 루트 요소이며 다른 모든 요소를 포함합니다. 이 태그를 사용하는 모든 템플릿의 참조 설정LocationTemplate:

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

데이터 형식

이러한 데이터 형식은 UE-V 애플리케이션 템플릿 스키마에 대한 데이터 형식입니다.

Guid GUID는 "\{[a-fA-F0-9]-[a-fA-F0-9]{8}-[a-fA-F0-9]-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}{12}\}" 형식의 표준 전역 고유 식별자 정규식을 설명합니다. 이 GUID는 Filesetting\Root\KnownFolder 요소에서 잘 알려진 폴더의 서식을 확인하는 데 사용됩니다.

FilenameString FilenameString은 모니터링할 프로세스의 파일 이름을 나타냅니다. 해당 값은 regex [^\\\?\*\|<>에 의해 제한됩니다./:]+, (즉, 백슬래시 문자, 별표 또는 물음표 와일드 카드 문자, 파이프 문자, 부호보다 크거나 작은 문자, 슬래시 또는 콜론 문자를 포함할 수 없습니다.)

IDString IDString은 애플리케이션 요소, SettingsLocationTemplate 및 Common 요소의 ID 값을 나타냅니다(일반적인 설정을 공유하는 애플리케이션 제품군을 설명하는 데 사용됨). FilenameString과 동일한 정규식으로 제한됩니다([^\\\?\*\|<>/:]+).

TemplateVersion TemplateVersion은 설정 위치 템플릿의 수정 버전을 설명하는 데 사용되는 정수 값입니다. 해당 값의 범위는 0에서 2147483647 수 있습니다.

빈 은 null 값을 나타냅니다. 이 데이터 형식은 Process\ShellProcess에서 모니터링할 프로세스가 없음을 나타내는 데 사용됩니다. 이 값은 애플리케이션 템플릿에서 사용하면 안 됩니다.

저자 Author 데이터 형식은 템플릿의 작성자를 식별하는 복합 형식입니다. 여기에는 이름Email 두 개의 자식 요소가 포함됩니다. Author 데이터 형식 내에서 Name 요소는 필수이지만 Email 요소는 선택 사항입니다. 이 형식은 SettingsLocationTemplate 요소 아래에 자세히 설명되어 있습니다.

범위 Range는 최소 및 최대의 두 자식 요소로 구성된 정수 클래스를 정의 합니다. 이 데이터 형식은 ProcessVersion 데이터 형식에서 구현됩니다. 지정한 경우 최소값과 최대값을 모두 포함해야 합니다.

ProcessVersion ProcessVersion은 , , 빌드 및 패치의 네 가지 자식 요소가 있는 형식 정의 합니다. 이 데이터 형식은 Process 요소에서 ProductVersion 및 FileVersion 값을 채우는 데 사용됩니다. 이 형식의 데이터는 범위 값입니다. 주 자식 요소는 필수 요소이며 다른 요소는 선택 사항입니다.

아키텍처 아키텍처는 Win32Win64의 두 가지 가능한 값을 열거합니다. 이러한 값은 프로세스 아키텍처를 지정하는 데 사용됩니다.

프로세스 프로세스 데이터 형식은 UE-V에서 모니터링할 프로세스를 설명하는 데 사용되는 컨테이너입니다. 여기에는 파일 이름, 아키텍처, ProductName, FileDescription, ProductVersion 및 FileVersion의 여섯 가지 자식 요소가 포함됩니다. 이 표에서는 각 요소의 각 데이터 형식에 대해 자세히 설명합니다.

요소 데이터 형식 Mandatory
파일 FilenameString True
Architecture Architecture False
ProductName 문자열 False
FileDescription 문자열 False
productVersion ProcessVersion False
FileVersion ProcessVersion False

프로세스 프로세스 데이터 형식은 하나 이상의 Process 요소 컬렉션에 대한 컨테이너를 나타냅니다. 프로세스 시퀀스 유형인 ProcessShellProcess에서 두 개의 자식 요소가 지원됩니다. Process는 Process 형식의 요소이며 ShellProcess는 빈 데이터 형식입니다. 시퀀스에서 하나 이상의 항목을 식별해야 합니다.

경로 경로는 레지스트리 및 파일 경로를 참조하기 위해 RegistrySetting 및 FileSetting에서 사용됩니다. 이 요소는 두 가지 선택적 특성인 RecursiveDeleteIfNotFound를 지원합니다. 두 값 모두 default="False"로 설정됩니다.

Recursive는 경로 및 모든 하위 폴더가 파일 설정에 포함되거나 모든 자식 레지스트리 키가 레지스트리 설정에 포함되어 있음을 나타냅니다. 두 경우 모두 현재 수준의 모든 항목이 캡처된 데이터에 포함됩니다. FileSettings 개체의 경우 지정된 폴더 내의 모든 파일이 UE-V에서 캡처한 데이터에 포함되지만 폴더는 포함되지 않습니다. 레지스트리 경로의 경우 현재 경로의 모든 값이 캡처되지만 자식 레지스트리 키는 캡처되지 않습니다. 두 경우 모두 큰 데이터 집합 또는 많은 수의 항목을 캡처하지 않도록 주의해야 합니다.

DeleteIfNotFound 특성은 사용자의 설정 스토리지 경로 데이터에서 설정을 제거합니다. 이 제거는 패키지에서 이러한 설정을 제거하면 설정 스토리지 경로 파일 서버에 많은 양의 디스크 공간이 절약되는 경우에 바람직할 수 있습니다.

FileMask FileMask는 경로로 정의된 폴더에 대한 특정 파일 형식만 지정합니다. 예를 들어 경로는 이고 C:\users\username\files FileMask는 텍스트 파일만 포함할 수 있습니다 *.txt .

RegistrySetting RegistrySetting은 레지스트리 키 및 값에 대한 컨테이너와 UE-V 서비스 쪽에서 연결된 원하는 동작을 나타냅니다. 경로, 이름, 제외 및 값의 시퀀스 경로 이름 형식 내에 네 개의 자식 요소가 정의됩니다.

FileSetting FileSetting에는 파일 및 파일 경로와 연결된 매개 변수가 포함되어 있습니다. 루트, 경로, FileMaskExclude의 네 가지 자식 요소가 정의됩니다. 루트는 필수이며 다른 루트는 선택 사항입니다.

설정 설정은 특정 템플릿에 적용되는 모든 설정에 대한 컨테이너입니다. 여기에는 앞에서 설명한 레지스트리, 파일, SystemParameter 및 CustomAction 설정의 인스턴스가 포함됩니다. 또한 동작이 설명된 다음 자식 요소를 포함할 수도 있습니다.

요소 설명
비동기 비동기 설정 패키지는 애플리케이션 시작을 차단하지 않고 적용되므로 설정이 계속 적용되는 동안 애플리케이션 시작이 진행됩니다. 이 요소는 SystemParameterSetting과 같이 API를 통해 가져오기/설정과 같이 비동기적으로 적용할 수 있는 설정에 유용합니다.
PreventOverlappingSynchronization 기본적으로 UE-V는 템플릿을 사용하는 애플리케이션의 마지막 instance 닫힌 경우에만 애플리케이션에 대한 설정을 저장합니다. 이 요소를 'false'로 설정하면 애플리케이션의 다른 인스턴스가 실행 중인 경우에도 UE-V에서 설정을 내보냅니다. UE-V와 함께 제공되는 Common 요소 섹션을 포함하는 템플릿인 적합한 템플릿은 이 플래그를 사용하여 애플리케이션을 닫을 때 공유 설정을 항상 내보낼 수 있도록 하면서 마지막 instance 닫을 때까지 애플리케이션별 설정이 내보내지 않도록 합니다.
AlwaysApplySettings 이 매개 변수는 패키지와 애플리케이션의 현재 상태 사이에 차이가 없더라도 가져온 설정 패키지를 강제로 적용합니다. 이 매개 변수는 설정 가져오기 속도를 늦출 수 있으므로 특별한 경우에만 사용해야 합니다.

Name 요소

필수: True형식: String

Name은 설정 위치 템플릿의 고유한 이름을 지정합니다. 이 이름은 WMI, PowerShell, 이벤트 뷰어 및 디버그 로그에서 템플릿을 참조할 때 표시 목적으로 사용됩니다. 일반적으로 ProductVersion 요소에서 이 참조를 반대할 수 있으므로 버전 정보를 참조하지 마십시오. 예를 들어 대신 를 지정 <Name>My Application</Name> 합니다 <Name>My Application 1.1</Name>.

참고

UE-V는 외부 DTD를 참조하지 않으므로 설정 위치 템플릿에서 명명된 엔터티를 사용할 수 없습니다. 예를 들어 를 사용하여 ® 등록된 트레이드 마크 기호 ® 를 참조하지 마세요. 대신 정식 번호가 매겨진 참조를 사용하여 이러한 유형의 특수 문자(예: 문자에 대한 ®)를 ® 포함합니다. 이 규칙은 이 문서의 모든 문자열 값에 적용됩니다.

문자 엔터티의 전체 목록은 를 참조 http://www.w3.org/TR/xhtml1/dtds.html 하세요. UTF-8로 인코딩된 문서에는 유니코드 문자가 직접 포함될 수 있습니다. UE-V 템플릿 생성기를 통해 템플릿을 저장하면 문자 엔터티가 유니코드 표현으로 자동으로 변환됩니다.

ID 요소

필수: True형식: String

ID는 특정 템플릿에 대한 고유 식별자를 채웁니다. 이 태그는 UE-V 서비스가 런타임에 템플릿을 참조하는 데 사용하는 기본 식별자가 됩니다(예: Get-UevTemplate 출력 및 Get-UevTemplateProgram PowerShell cmdlet 참조). 규칙에 따라 이 태그에는 스크립팅을 간소화하는 공백이 포함되어서는 안 됩니다. 와 같은 <ID>MicrosoftOffice2016Win64</ID>템플릿을 쉽게 식별할 수 있도록 이 요소에 애플리케이션의 버전 번호를 지정해야 합니다.

Version 요소

필수: TrueType: 정수최소값: 최대값 0: 2147483647

버전은 변경 내용을 관리하기 위한 설정 위치 템플릿의 버전을 식별합니다. UE-V 템플릿 생성기는 템플릿을 저장할 때마다 이 숫자를 자동으로 증분합니다. 이 필드는 정수 정수여야 합니다. 과 같은 <Version>2.5</Version> 분수 값은 허용되지 않습니다.

XML 주석 태그 를 사용하여 버전 변경에 대한 메모를 저장할 수 있습니다 <!-- -->. 예를 들면 다음과 같습니다.

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

중요

이 값은 새 버전의 템플릿을 이러한 인스턴스의 기존 템플릿에 적용해야 하는지 여부를 확인하기 위해 쿼리됩니다.

  • 예약된 템플릿 자동 업데이트 작업이 실행되는 경우
  • Update-UevTemplate PowerShell cmdlet이 실행되는 경우
  • WMI를 통해 microsoft\uev:SettingsLocationTemplate Update 메서드가 호출되는 경우

Author 요소

필수: False형식: String

작성자는 설정 위치 템플릿의 작성자를 식별합니다. 두 가지 선택적 자식 요소가 지원됩니다. 이름Email. 두 특성 모두 선택 사항이지만 Email 자식 요소가 지정된 경우 Name 요소와 함께 사용해야 합니다. 작성자는 설정 위치 템플릿에 대한 연락처의 전체 이름을 참조하며 전자 메일은 작성자의 전자 메일 주소를 참조해야 합니다. 공개적으로 게시된 템플릿에 이 정보를 포함하는 것이 좋습니다.

프로세스 및 프로세스 요소

필수: TrueType: 요소

프로세스에는 파일 이름, 아키텍처, ProductName, FileDescription, ProductVersionFileVersion과 같은 자식 요소가 포함된 요소가 하나 <Process> 이상 포함됩니다. Filename 자식 요소는 필수이며 다른 요소는 선택 사항입니다. 완전히 채워진 요소에는 다음 예제와 유사한 태그가 포함됩니다.

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

파일

필수: True형식: String

파일 이름은 파일 시스템에 표시되는 실행 파일의 실제 파일 이름을 나타냅니다. 이 요소는 UE-V가 템플릿이 프로세스에 적용되는지 여부를 평가하는 데 사용하는 기본 조건을 지정합니다. 이 요소는 설정 위치 템플릿 XML에 지정해야 합니다.

유효한 파일 이름은 정규식 [^\\\?\*\|<>/:]+, 즉 백슬래시 문자, 별표 또는 물음표 와일드 카드 문자, 파이프 문자, 부호보다 크거나 작음, 슬래시 또는 콜론(\ ? * | <> / 또는 : 문자)을 포함하지 않을 수 있습니다.

이 정규식에 대해 문자열을 테스트하려면 PowerShell 명령 창을 사용하고 실행 파일의 이름을 YourFileName으로 대체합니다.

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

True 값은 문자열에 잘못된 문자가 포함되어 있음을 나타냅니다. 다음은 불법 값의 몇 가지 예입니다.

  • \\server\share\program.exe
  • Program*.exe
  • Pro?ram.exe
  • 프로그램<1>.exe

참고

UE-V 템플릿 생성기는 문자보다 크고 작은 을 각각 및 < 로 > 인코딩합니다.

드문 경우지만 FileName 값에 반드시 .exe 확장이 포함되지는 않지만 값의 일부로 지정해야 합니다. 예를 들어 대신 <Filename>MyApplication.exe</Filename><Filename>MyApplication</Filename>지정해야 합니다. 실행 파일의 실제 이름이 "MyApplication.exe"인 경우 두 번째 예제에서는 템플릿을 프로세스에 적용하지 않습니다.

Architecture

필수: False형식: 아키텍처(문자열)

아키텍처는 대상 실행 파일이 컴파일된 프로세서 아키텍처를 나타냅니다. 유효한 값은 32비트 애플리케이션의 경우 Win32, 64비트 애플리케이션의 경우 Win64입니다. 있는 경우 이 태그는 설정 위치 템플릿의 적용 가능성을 특정 애플리케이션 아키텍처로 제한합니다. 이 적용 가능성 제한의 예는 %ProgramFiles%\Microsoft User Experience Virtualization\templates\ MicrosoftOffice2016Win32.xml 및 UE-V에 포함된 MicrosoftOffice2016Win64.xml 파일을 비교합니다. 이 적용 가능성 제한은 다른 버전의 실행 파일 간에 상대 경로가 변경되거나 한 프로세서 아키텍처에서 다른 프로세서 아키텍처로 이동할 때 설정이 추가되거나 제거된 경우에 유용합니다.

이 요소가 없는 경우 설정 위치 템플릿은 프로세스의 아키텍처를 무시하고 파일 이름 및 기타 특성이 적용되는 경우 32비트 및 64비트 프로세스에 모두 적용됩니다.

참고

UE-V는 이 버전의 ARM 프로세서를 지원하지 않습니다.

ProductName

필수: False형식: String

ProductName은 관리 목적 또는 보고를 위해 제품을 식별하는 데 사용되는 선택적 요소입니다. ProductName은 해당 값에 대한 정규식 제한이 없다는 점에서 Filename과 다릅니다. 이러한 유연성을 통해 실행 파일 이름이 명확하지 않을 수 있는 프로세스에 대한 설명을 보다 쉽게 이해할 수 있습니다. 예시:

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

FileDescription

필수: False형식: String

FileDescription은 실행 파일에 대한 관리 설명을 허용하는 선택적 태그입니다. 이 태그는 무료 텍스트 필드이며 실행 파일의 기능을 식별해야 하는 소프트웨어 패키지 내에서 여러 실행 파일을 구분하는 데 유용할 수 있습니다.

예를 들어 적합한 애플리케이션에서는 다음과 같이 두 실행 파일(MyApplication.exe 및 MyApplicationHelper.exe)의 함수에 대한 미리 알림을 제공하는 것이 유용할 수 있습니다.

<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

필수: False형식: String

ProductVersion은 빌드 및 패치 수준뿐만 아니라 파일의 주 및 부 제품 버전을 나타냅니다. ProductVersion은 선택적 요소이지만 지정된 경우 최소한 Major 자식 요소를 포함해야 합니다. 값은 X 및 Y가 정수인 Minimum="X" Maximum="Y" 형식으로 범위를 표현해야 합니다. 최소 및 최대값은 동일할 수 있습니다.

제품 및 파일 버전 요소는 지정되지 않은 상태로 남아 있을 수 있습니다. 이렇게 하면 템플릿이 "버전에 구애받지 않습니다"가 됩니다. 즉, 템플릿이 지정된 실행 파일의 모든 버전에 적용됩니다.

예제 1:

제품 버전: UE-V 템플릿 생성기에 지정된 1.0은 다음 XML을 생성합니다.

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

예제 2:

파일 버전: UE-V 템플릿 생성기에 지정된 5.0.2.1000은 다음 XML을 생성합니다.

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

잘못된 예제 1 - 불완전한 범위:

최소 특성만 있습니다. 최대값도 범위에 포함되어야 합니다.

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

잘못된 예제 2 - Major 요소 없이 지정된 Minor:

Minor 요소만 있습니다. Major도 포함되어야 합니다.

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

FileVersion

필수: False형식: String

FileVersion은 게시된 애플리케이션의 릴리스 버전과 구성 요소 실행 파일의 내부 빌드 세부 정보를 구분합니다. 대부분의 상용 애플리케이션에서 이러한 숫자는 동일합니다. 파일의 제품 버전은 파일의 일반 버전 식별을 나타내고 파일 버전은 핫픽스 또는 업데이트 예제와 같이 파일의 특정 빌드를 나타냅니다. 이 파일 버전은 검색 논리를 위반하지 않고 파일을 고유하게 식별합니다.

특정 실행 파일의 제품 버전 및 파일 버전을 확인하려면 Windows Explorer 파일을 마우스 오른쪽 단추로 클릭하고 속성을 선택한 다음 세부 정보 탭을 클릭합니다.

애플리케이션에 FileVersion 요소를 포함하면 보다 세분화된 미세 조정 검색 논리가 가능하지만 대부분의 애플리케이션에는 필요하지 않습니다. ProductVersion 요소 설정이 먼저 선택되고 FileVersion이 선택됩니다. 더 제한적인 설정이 적용됩니다.

FileVersion에 대한 자식 요소 및 구문 규칙은 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 요소

애플리케이션은 특정 애플리케이션에 적용되는 설정에 대한 컨테이너입니다. 다음 필드/형식의 컬렉션입니다.

필드/형식 설명
이름 설정 위치 템플릿의 고유한 이름을 지정합니다. 이 이름은 WMI, PowerShell, 이벤트 뷰어 및 디버그 로그에서 템플릿을 참조할 때 표시 목적으로 사용됩니다. 자세한 내용은 이름을 참조하세요.
ID 특정 템플릿에 대한 고유 식별자를 채웁니다. 이 태그는 UE-V 서비스에서 런타임 시 템플릿을 참조하는 데 사용하는 기본 식별자가 됩니다. 자세한 내용은 ID를 참조 하세요.
설명 템플릿에 대한 선택적 설명입니다.
LocalizedNames 언어 로캘로 지역화된 UI에 표시되는 선택적 이름입니다.
LocalizedDescriptions 언어 로캘로 지역화된 선택적 템플릿 설명입니다.
버전 변경 내용을 관리하기 위한 설정 위치 템플릿의 버전을 식별합니다. 자세한 내용은 버전을 참조하세요.
DeferToMSAccount 이 템플릿을 Microsoft 계정과 함께 사용할 수 있는지 여부를 제어합니다. 컴퓨터의 사용자에 대해 MSA 동기화를 사용하도록 설정하면 이 템플릿이 자동으로 비활성화됩니다.
DeferToOffice365 MSA와 마찬가지로 이 형식은 이 템플릿을 Office361과 함께 사용할 수 있는지 여부를 제어합니다. Office 365 사용하여 설정을 동기화하는 경우 이 템플릿은 자동으로 비활성화됩니다.
FixedProfile 이 템플릿은 이 요소 내에 지정된 프로필에만 연결할 수 있으며 WMI 또는 PowerShell을 통해 변경할 수 없게 지정합니다.
프로세스 하나 이상의 Process 요소 컬렉션에 대한 컨테이너입니다. 자세한 내용은 프로세스를 참조하세요.
설정 특정 템플릿에 적용되는 모든 설정에 대한 컨테이너입니다. 여기에는 레지스트리, 파일, SystemParameter 및 CustomAction 설정의 인스턴스가 포함됩니다. 자세한 내용은 데이터 형식설정을 참조하세요.

Common 요소

Common은 Application 요소와 비슷하지만 항상 둘 이상의 Application 요소와 연결됩니다. Common 섹션은 해당 애플리케이션 인스턴스 간에 공유되는 설정 집합을 나타냅니다. 다음 필드/형식의 컬렉션입니다.

필드/형식 설명
이름 설정 위치 템플릿의 고유한 이름을 지정합니다. 이 이름은 WMI, PowerShell, 이벤트 뷰어 및 디버그 로그에서 템플릿을 참조할 때 표시 목적으로 사용됩니다. 자세한 내용은 이름을 참조하세요.
ID 특정 템플릿에 대한 고유 식별자를 채웁니다. 이 태그는 UE-V 서비스에서 런타임 시 템플릿을 참조하는 데 사용하는 기본 식별자가 됩니다. 자세한 내용은 ID를 참조 하세요.
설명 템플릿에 대한 선택적 설명입니다.
LocalizedNames 언어 로캘로 지역화된 UI에 표시되는 선택적 이름입니다.
LocalizedDescriptions 언어 로캘로 지역화된 선택적 템플릿 설명입니다.
버전 변경 내용을 관리하기 위한 설정 위치 템플릿의 버전을 식별합니다. 자세한 내용은 버전을 참조하세요.
DeferToMSAccount 이 템플릿을 Microsoft 계정과 함께 사용할 수 있는지 여부를 제어합니다. 컴퓨터의 사용자에 대해 MSA 동기화를 사용하도록 설정하면 이 템플릿이 자동으로 비활성화됩니다.
DeferToOffice365 MSA와 마찬가지로 이 형식은 이 템플릿을 Office361과 함께 사용할 수 있는지 여부를 제어합니다. Office 365 사용하여 설정을 동기화하는 경우 이 템플릿은 자동으로 비활성화됩니다.
FixedProfile 이 템플릿은 이 요소 내에 지정된 프로필에만 연결할 수 있으며 WMI 또는 PowerShell을 통해 변경할 수 없게 지정합니다.
설정 특정 템플릿에 적용되는 모든 설정에 대한 컨테이너입니다. 여기에는 레지스트리, 파일, SystemParameter 및 CustomAction 설정의 인스턴스가 포함됩니다. 자세한 내용은 데이터 형식설정을 참조하세요.

SettingsLocationTemplate 요소

이 요소는 단일 애플리케이션 또는 애플리케이션 제품군에 대한 설정을 정의합니다.

필드/형식 설명
이름 설정 위치 템플릿의 고유한 이름을 지정합니다. 이 형식은 WMI, PowerShell, 이벤트 뷰어 및 디버그 로그에서 템플릿을 참조할 때 표시 목적으로 사용됩니다. 자세한 내용은 이름을 참조하세요.
ID 특정 템플릿에 대한 고유 식별자를 채웁니다. 이 태그는 UE-V 서비스에서 런타임 시 템플릿을 참조하는 데 사용하는 기본 식별자가 됩니다. 자세한 내용은 ID를 참조 하세요.
설명 템플릿에 대한 선택적 설명입니다.
LocalizedNames 언어 로캘로 지역화된 UI에 표시되는 선택적 이름입니다.
LocalizedDescriptions 언어 로캘로 지역화된 선택적 템플릿 설명입니다.

부록: SettingsLocationTemplate.xsd

다음은 해당 요소, 자식 요소, 특성 및 매개 변수를 보여 주는 SettingsLocationTemplate.xsd 파일입니다.

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

UE-V에 대한 사용자 지정 UE-V 템플릿 및 UE-V 템플릿 생성기기술 참조 작업