애플리케이션 매니페스트

애플리케이션 매니페스트는 애플리케이션에서 런타임에 바인딩해야 할 공유 및 전용 side-by-side 어셈블리를 설명하고 식별하는 XML 파일입니다. 이는 애플리케이션을 테스트하는 데 사용된 어셈블리 버전과 동일해야 합니다. 애플리케이션 매니페스트에서는 애플리케이션에 전용인 파일의 메타데이터를 설명하기도 합니다.

XML 스키마의 전체 목록은 매니페스트 파일 스키마 를 참조하세요.

애플리케이션 매니페스트에는 다음과 같은 요소와 특성이 있습니다.

요소 특성 필수
어셈블리(assembly)
manifestVersion
noInherit
assemblyIdentity
type
name
언어
processorArchitecture
version
publicKeyToken
호환성
애플리케이션
supportedOS ID
maxversiontested ID
종속성
dependentAssembly
file
name
hashalg
hash
activeCodePage
autoElevate
disableTheming
disableWindowFiltering
dpiAware
dpiAwareness
gdiScaling
highResolutionScrollingAware
longPathAware
printerDriverIsolation
ultraHighResolutionScrollingAware
msix
heapType

파일 위치

애플리케이션 매니페스트는 애플리케이션의 EXE 파일 또는 DLL에 리소스로 포함되어야 합니다.

자세한 내용은 Side-by-Side 어셈블리 설치를 참조하세요.

파일 이름 구문

애플리케이션 매니페스트 파일의 이름은 애플리케이션의 실행 파일 이름과 .manifest의 이름입니다.

예를 들어 example.exe 또는 example.dll 참조하는 애플리케이션 매니페스트는 다음 파일 이름 구문을 사용합니다. 리소스 ID가 1인 경우 <리소스 ID> 필드를 생략할 수 있습니다.

example.exe.<리소스 ID>.manifest

example.dll.<리소스 ID>.manifest

요소

요소 및 특성의 이름은 대/소문자 구분입니다. 요소 및 특성의 값은 형식 특성의 값을 제외하고 대/소문자를 구분하지 않습니다.

어셈블리(assembly)

컨테이너 요소입니다. 첫 번째 하위 요소는 noInherit 또는 assemblyIdentity 요소여야 합니다. 필수 사항입니다.

어셈블리 요소는 "urn:schemas-microsoft-com:asm.v1" 네임스페이스에 있어야 합니다. 또한 어셈블리의 자식 요소는 상속 또는 태그 지정을 통해 이 네임스페이스에 있어야 합니다.

어셈블리 요소에는 다음과 같은 특성이 있습니다.

attribute Description
manifestVersion manifestVersion 특성은 1.0으로 설정해야 합니다.

noInherit

애플리케이션 매니페스트에 이 요소를 포함하여 매니페스트에서 생성된 활성화 컨텍스트를 "상속 없음" 플래그로 설정합니다. 이 플래그가 활성화 컨텍스트에서 설정되지 않고 활성화 컨텍스트가 활성 상태이면 동일한 프로세스, 창, 창 프로시저 및 비동기 프로시저 호출의새 스레드에서 상속됩니다. 이 플래그를 설정 하면 새 개체 활성 컨텍스트를 상속 하지 않습니다.

noInherit 요소는 선택 사항이며 일반적으로 생략됩니다. 어셈블리가 자체 활성화 컨텍스트의 전파를 관리하도록 명시적으로 설계되어야 하므로 대부분의 어셈블리는 상속되지 않는 활성화 컨텍스트를 사용하여 제대로 작동하지 않습니다. noInherit 요소를 사용하려면 애플리케이션 매니페스트에서 참조하는 종속 어셈블리의 어셈블리 매니페스트noInherit 요소가 있어야 합니다.

매니페스트에서 noInherit을 사용하는 경우 어셈블리 요소의 첫 번째 하위 요소여야 합니다. assemblyIdentity 요소는 noInherit 요소 바로 뒤여야 합니다. noInherit을 사용하지 않는 경우 assemblyIdentity는 어셈블리 요소의 첫 번째 하위 요소여야 합니다. noInherit 요소에는 자식 요소가 없습니다. 어셈블리 매니페스트의유효한 요소가 아닙니다.

assemblyIdentity

어셈블리 요소의 첫 번째 하위 요소인 assemblyIdentity는 이 애플리케이션 매니페스트를 소유하는 애플리케이션을 설명하고 고유하게 식별합니다. dependentAssembly 요소의 첫 번째 하위 요소인 assemblyIdentity는 애플리케이션에 필요한 side-by-side 어셈블리를 설명합니다. 애플리케이션 매니페스트에서 참조되는 모든 어셈블리에는 참조된 어셈블리 매니페스트의 assemblyIdentity와 정확히 일치하는 assemblyIdentity가 필요합니다.

assemblyIdentity 요소에는 다음과 같은 특성이 있습니다. 하위는 없습니다.

attribute Description
type 애플리케이션 또는 어셈블리 형식을 지정합니다. 값은 Win32이고 모두 소문자여야 합니다. 필수 사항입니다.
name 애플리케이션 또는 어셈블리의 이름을 고유하게 합니다. 이름에 다음 형식을 사용합니다. Organization.Division.Name. 예를 들어 Microsoft입니다. Windows.mysampleApp. 필수 사항입니다.
언어 애플리케이션 또는 어셈블리의 언어를 식별합니다. 선택 사항입니다. 애플리케이션 또는 어셈블리가 언어별로 다르면 DHTML 언어 코드를 지정합니다. 전 세계에서 사용하기 위한 애플리케이션의 assemblyIdentity(언어 중립적)에서는 언어 특성을 생략합니다.
전 세계에서 사용하기 위한 어셈블리의 assemblyIdentity에서(언어 중립적) 언어 값을 " * "로 설정합니다.
processorArchitecture 프로세서를 지정합니다. 유효한 값은 x86, amd64, arm 또는 arm64입니다. 선택 사항입니다.
version 애플리케이션 또는 어셈블리 버전을 지정합니다. 네 부분으로 구성된 버전 형식 mmmmm.nnnnn.ooooo.ppppp를 사용합니다. 마침표로 구분된 각 파트는 0-65535를 포함할 수 있습니다. 자세한 내용은 어셈블리 버전 을 참조하세요. 필수 사항입니다.
publicKeyToken 애플리케이션 또는 어셈블리가 서명된 공개 키의 SHA-1 해시 마지막 8바이트를 나타내는 16자 16진수 문자열입니다. 카탈로그에 서명하는 데 사용되는 공개 키는 2048비트 이상이어야 합니다. 모든 공유 side-by-side 어셈블리에 필요합니다.

호환성

하나 이상의 애플리케이션 을 포함합니다. 특성이 없습니다. 선택 사항입니다. 호환성 요소가 없는 애플리케이션 매니페스트는 기본적으로 Windows 7에서 Vista 호환성을 Windows.

애플리케이션

지원되는OS 요소를 하나 이상 포함합니다. Windows 10 버전 1903부터 선택적 maxversiontested 요소 하나를 포함할 수도 있습니다. 특성이 없습니다. 선택 사항입니다.

supportedOS

supportedOS 요소에는 다음과 같은 특성이 있습니다. 하위는 없습니다.

attribute 설명
ID Id 특성을 {e2011457-1546-43c5-a5fe-008deee3d3f0}으로 설정하여 Vista 기능을 사용하여 애플리케이션을 실행합니다. 이렇게 하면 Windows Vista용으로 설계된 애플리케이션이 이후 운영 체제에서 실행되도록 설정할 수 있습니다.
id 특성을 {35138b9a-5d96-4fbd-8e2d-a2440225f93a}로 설정하여 Windows 7 기능을 사용하여 애플리케이션을 실행합니다.
Windows Vista, Windows 7 및 Windows 8 기능을 지원하는 애플리케이션에는 별도의 매니페스트가 필요하지 않습니다. 이 경우 모든 Windows 운영 체제에 대한GUID를 추가합니다.
Windows Id 특성 동작에 대한 자세한 내용은 Windows 8 및 Windows Server 2012 호환성 Cookbook을 참조하세요.
다음GUID는 표시된 운영 체제에 해당합니다.
{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a} -> Windows 10, Windows Server 2016 및 Windows Server 2019
{1f676c76-80e1-4239-95bb-83d0f6d0da78} -> Windows 8.1 및 Windows Server 2012 R2
{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38} -> Windows 8 및 Windows Server 2012
{35138b9a-5d96-4fbd-8e2d-a2440225f93a} -> Windows 7 및 Windows Server 2008 R2
{e2011457-1546-43c5-a5fe-008deee3d3f0} -> Windows Vista 및 Windows Server 2008
Windows 7 또는 Windows 8.x에서 리소스 모니터(resmon)를 실행하고 CPU 탭으로 가서 열 레이블 "열 선택..."을 마우스 오른쪽 단추로 클릭하고 "운영 체제 컨텍스트"를 확인하여 테스트할 수 있습니다. Windows 8.x의 작업 관리자(taskmgr)에서 이 열을 찾을 수도 있습니다. 열의 내용에는 찾은 가장 높은 값 또는 "Windows Vista"가 기본값으로 표시됩니다.

maxversiontested

maxversiontested 요소는 애플리케이션이 최대 버전까지 지원하는 최소 OS 버전부터 애플리케이션이 테스트된 Windows 버전을 지정합니다. 전체 버전 집합은 여기에서찾을 수 있습니다. 이는 XAML Islands를 사용하고 MSIX 패키지에 배포되지 않은 데스크톱 애플리케이션에서 사용하기 위한 것입니다. 이 요소는 Windows 10 버전 1903 이상 버전에서 지원됩니다.

maxversiontested 요소에는 다음과 같은 특성이 있습니다. 하위는 없습니다.

attribute 설명
ID Id 특성을 애플리케이션이 테스트된 Windows 최대 버전을 지정하는 4부분 버전 문자열로 설정합니다. 예를 들어 "10.0.18226.0"입니다.

dependency

하나 이상의 dependentAssembly 를 포함합니다. 특성이 없습니다. 선택 사항입니다.

dependentAssembly

dependentAssembly의 첫 번째 하위 요소는 애플리케이션에 필요한 side-by-side 어셈블리를 설명하는 assemblyIdentity 요소여야 합니다. 모든 dependentAssembly는 정확히 하나의 종속성 내에 있어야 합니다. 특성이 없습니다.

파일

애플리케이션에 전용인 파일을 지정합니다. 선택 사항입니다.

파일 요소에는 다음 표에 표시된 특성이 있습니다.

attribute Description
name 파일의 이름입니다. 예를 들어 Comctl32.dll.
hashalg 파일의 해시를 만드는 데 사용되는 알고리즘입니다. 이 값은 SHA1이어야 합니다.
hash 이름으로 참조되는 파일의 해시입니다. 해시 알고리즘에 따라 길이가 인 16진수 문자열입니다.

activeCodePage

Windows 10 이 요소는 프로세스에서 UTF-8을 프로세스 코드 페이지로 사용하도록 강제합니다. 자세한 내용은 UTF-8 코드 페이지 사용을 참조하세요. Windows 10 activeCodePage에 유효한 값은 UTF-8뿐입니다.

Windows 11부터 이 요소를 사용하면 레거시 비 UTF-8 코드 페이지 또는 레거시 애플리케이션 호환성을 위한 특정 로케일의 코드 페이지를 선택할 수도 있습니다. 최신 애플리케이션은 유니코드를 사용하는 것이 좋습니다. Windows 11에서 activeCodePage를 Legacy 값 또는 en-US 또는 ja-JP 와 같은 로케일 이름으로 설정할 수도 있습니다.

  • UTF-8 시스템 활성 코드 페이지로 구성된 컴퓨터에서 레거시는 프로세스를 시스템 로케일 코드 페이지로 되돌려 드립니다. 시스템 로케일에 정의된 코드 페이지가 없으면 Windows-1252/437이 사용됩니다. 레거시 코드 페이지 설정은 Fusion 매니페스트에서만 지원되며 Windows 11부터만 지원됩니다.
  • en-US와 같은 로케일 이름을 지정하면 프로세스 코드 페이지가 해당 로케일 코드 페이지에 대해 적절하게 설정됩니다. 예를 들어 en-US의 경우 Windows-1252 및 437, ja-JP의 경우 932입니다.

이 요소는 Windows 10 버전 1903(2019년 5월 업데이트)에서 처음 추가되었습니다. 이 속성을 선언하고 이전 Windows 빌드에서 대상/실행할 수 있지만, 레거시 코드 페이지 검색 및 변환은 평소처럼 처리해야 합니다. 이 요소에는 특성이 없습니다.

다음 예제에서는이 요소를 사용 하 여 현재 프로세스에서 UTF-8을 프로세스 코드 페이지로 사용 하도록 강제 하는 방법에 설명 합니다.

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
 ...
  <asmv3:application>
    <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2019/WindowsSettings"> 
      <activeCodePage>UTF-8</activeCodePage> 
    </asmv3:windowsSettings>
  </asmv3:application>
 ...
</assembly>

autoElevate

자동 권한 상승이 사용되는지 여부를 지정합니다. TRUE는 사용하도록 설정되어 있음을 나타냅니다. 특성이 없습니다.

disableTheming

UI 요소에 테마를 제공하지 않는지 여부를 지정합니다. TRUE는 사용 안 함을 나타냅니다. 특성이 없습니다.

disableWindowFiltering

창 필터링을 사용하지 않도록 설정할지 여부를 지정합니다. TRUE는 바탕 화면에서 몰입형 창을 열거할 수 있도록 창 필터링을 사용하지 않도록 설정합니다. disableWindowFiltering이 Windows 8 추가되었으며 특성이 없습니다.

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
 ...
  <asmv3:application>
    <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2011/WindowsSettings">
      <disableWindowFiltering>true</disableWindowFiltering>
    </asmv3:windowsSettings>
  </asmv3:application>
 ...
</assembly>

dpiAware

현재 프로세스가 dpi(인치당 도트 수)를 인식하는지 여부를 지정합니다.

Windows 10 버전 1607: dpiAwareness 요소가 있으면 dpiAware 요소가 무시됩니다. Windows 10 버전 1607에 대해 이전 버전의 운영 체제와 다른 동작을 지정하려는 경우 매니페스트에 두 요소를 모두 포함할 수 있습니다.

다음 표에서는 dpiAware 요소의 존재 및 포함된 텍스트에 따라 발생하는 동작에 대해 설명합니다. 요소 내의 텍스트는 대/소문자 구분이 아닙니다.

dpiAware 요소의 상태 Description
Absent 현재 프로세스는 기본적으로 dpi를 인식하지 못합니다. SetProcessDpiAwareness 또는 SetProcessDPIAware 함수를 호출하여 이 설정을 프로그래밍 방식으로 변경할 수 있습니다.
"true"를 포함합니다. 현재 프로세스는 시스템 dpi를 인식합니다.
"false"를 포함합니다. Windows Vista, Windows 7 및 Windows 8: 동작은 dpiAware가 없는 경우와 동일합니다.
Windows 8.1 및 Windows 10: 현재 프로세스는 dpi를 인식하지 못하며 SetProcessDpiAwareness 또는 SetProcessDPIAware 함수를 호출하여 이 설정을 프로그래밍 방식으로 변경할 수 없습니다.
"true/pm"을 포함합니다. Windows Vista, Windows 7 및 Windows 8: 현재 프로세스는 시스템 dpi를 인식합니다.
Windows 8.1 및 Windows 10: 현재 프로세스는 모니터별 dpi 인식입니다.
"모니터당" 포함 Windows Vista, Windows 7 및 Windows 8: 동작은 dpiAware가 없는 경우와 동일합니다.
Windows 8.1 및 Windows 10: 현재 프로세스는 모니터별 dpi 인식입니다.
다른 문자열을 포함합니다. Windows Vista, Windows 7 및 Windows 8: 동작은 dpiAware가 없는 경우와 동일합니다.
Windows 8.1 및 Windows 10: 현재 프로세스는 dpi를 인식하지 못하며 SetProcessDpiAwareness 또는 SetProcessDPIAware 함수를 호출하여 이 설정을 프로그래밍 방식으로 변경할 수 없습니다.

dpi 인식 설정에 대한 자세한 내용은 DPI 인식 수준 비교를 참조하세요.

dpiAware에는 특성이 없습니다.

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
 ...
  <asmv3:application>
    <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
      <dpiAware>true</dpiAware>
    </asmv3:windowsSettings>
  </asmv3:application>
 ...
</assembly>

dpiAwareness

현재 프로세스가 dpi(인치당 도트 수)를 인식하는지 여부를 지정합니다.

dpiAwareness 요소를 지원하는 운영 체제의 최소 버전은 Windows 10 버전 1607입니다. dpiAwareness 요소를 지원하는 버전의 경우 dpiAwareness는 dpiAware 요소를 재정의합니다. Windows 10 버전 1607에 대해 이전 버전의 운영 체제와 다른 동작을 지정하려는 경우 매니페스트에 두 요소를 모두 포함할 수 있습니다.

dpiAwareness 요소는 단일 항목 또는 쉼표로 구분된 항목 목록을 포함할 수 있습니다. 후자의 경우 운영 체제에서 인식하는 목록의 첫 번째(가장 왼쪽) 항목이 사용됩니다. 이러한 방식으로 향후 Windows 운영 체제 버전에서 지원되는 다양한 동작을 지정할 수 있습니다.

다음 표에서는 dpiAwareness 요소의 존재와 dpiAwareness 요소의 가장 왼쪽 인식된 항목에 포함된 텍스트에 따라 발생하는 동작에 대해 설명합니다. 요소 내의 텍스트는 대/소문자 구분이 아닙니다.

dpiAwareness 요소 상태: Description
요소가 없습니다. dpiAware 요소는 프로세스가 dpi를 인식하는지 여부를 지정합니다.
인식된 항목을 포함하지 않습니다. 현재 프로세스는 기본적으로 dpi를 인식하지 못합니다. SetProcessDpiAwareness 또는 SetProcessDPIAware 함수를 호출하여 이 설정을 프로그래밍 방식으로 변경할 수 있습니다.
첫 번째 인식 항목은 "시스템"입니다. 현재 프로세스는 시스템 dpi를 인식합니다.
첫 번째 인식 항목은 "permonitor"입니다. 현재 프로세스는 모니터별 dpi 인식입니다.
첫 번째 인식 항목은 "permonitorv2"입니다. 현재 프로세스는 monitor-v2 dpi 인식 컨텍스트를 사용합니다. 이 항목은 Windows 10 버전 1703 이상에서만 인식됩니다.
처음 인식된 항목이 "인식되지 않음"입니다. 현재 프로세스는 dpi를 인식하지 못합니다. SetProcessDpiAwareness 또는 SetProcessDPIAware 함수를 호출하여 이 설정을 프로그래밍 방식으로 변경할 수 없습니다.

이 요소에서 지원하는 dpi 인식 설정에 대한 자세한 내용은 DPI AWARENESS 및 DPI _ AWARENESS CONTEXT 를 _ _ 참조하세요.

dpiAwareness에는 특성이 없습니다.

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
 ...
  <asmv3:application>
    <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">
      <dpiAwareness>PerMonitorV2, unaware</dpiAwareness>
    </asmv3:windowsSettings>
  </asmv3:application>
 ...
</assembly>

gdiScaling

GDI 크기 조정이 사용되는지 여부를 지정합니다. gdiScaling 요소를 지원하는 운영 체제의 최소 버전은 Windows 10 버전 1703입니다.

GDI(그래픽 디바이스 인터페이스) 프레임워크는 애플리케이션 자체를 업데이트하지 않고 모니터별로 기본형 및 텍스트에 DPI 크기 조정을 적용할 수 있습니다. 이는 GDI 애플리케이션이 더 이상 적극적으로 업데이트되지 않는 데 유용할 수 있습니다.

벡터 이외의 그래픽(예: 비트맵, 아이콘 또는 도구 모음)은 이 요소로 크기를 조정할 수 없습니다. 또한 애플리케이션에서 동적으로 생성한 비트맵 내에 나타나는 그래픽 및 텍스트도 이 요소로 크기를 조정할 수 없습니다.

TRUE는 이 요소가 사용됨을 나타냅니다. 특성이 없습니다.

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
 ...
  <asmv3:application>
    <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2017/WindowsSettings">
      <gdiScaling>true</gdiScaling>
    </asmv3:windowsSettings>
  </asmv3:application>
 ...
</assembly>

highResolutionScrollingAware

고해상도 스크롤 인식이 사용되는지 여부를 지정합니다. TRUE는 사용하도록 설정되어 있음을 나타냅니다. 특성이 없습니다.

longPathAware

길이가 MAX_PATH 초과하는 긴 경로를 사용하도록 설정합니다. 이 요소는 Windows 10 버전 1607 이상에서 지원됩니다. 자세한 내용은 이 문서를 참조하세요.

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
 ...
  <asmv3:application>
    <asmv3:windowsSettings xmlns:ws2="http://schemas.microsoft.com/SMI/2016/WindowsSettings">
      <ws2:longPathAware>true</ws2:longPathAware>
    </asmv3:windowsSettings>
  </asmv3:application>
 ...
</assembly>

printerDriverIsolation

프린터 드라이버 격리를 사용할지 여부를 지정합니다. TRUE는 사용하도록 설정되어 있음을 나타냅니다. 특성이 없습니다. 프린터 드라이버 격리는 인쇄 스풀러가 실행되는 프로세스와는 별개인 프로세스에서 프린터 드라이버를 실행할 수 있도록 하여 Windows 인쇄 서비스의 안정성을 향상시킵니다. 프린터 드라이버 격리에 대한 지원은 Windows 7 및 Windows Server 2008 R2에서 시작되었습니다. 앱은 앱 매니페스트에서 프린터 드라이버 격리를 선언하여 프린터 드라이버에서 자신을 격리하고 안정성을 향상시킬 수 있습니다. 즉, 프린터 드라이버에 오류가 있으면 앱이 충돌하지 않습니다.

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
 ...
  <asmv3:application>
    <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2011/WindowsSettings">
      <printerDriverIsolation>true</printerDriverIsolation>
    </asmv3:windowsSettings>
  </asmv3:application>
 ...
</assembly>

ultraHighResolutionScrollingAware

초고해상도 스크롤 인식이 사용되는지 여부를 지정합니다. TRUE는 사용하도록 설정되어 있음을 나타냅니다. 특성이 없습니다.

msix

현재 애플리케이션에 대한 스파스 MSIX 패키지의 ID 정보를 지정합니다. 이 요소는 Windows 10 버전 2004 이상 버전에서 지원됩니다.

msix 요소는 네임스페이스 에 있어야 urn:schemas-microsoft-com:msix.v1 합니다. 다음 표에 표시된 특성이 있습니다.

attribute Description
publisher 게시자 정보를 설명합니다. 이 값은 스파스 패키지 매니페스트의 Identity 요소에 있는 Publisher 특성과 일치해야 합니다.
packageName 패키지의 내용을 설명합니다. 이 값은 스파스 패키지 매니페스트의 Identity 요소에 있는 Name 특성과 일치해야 합니다.
applicationId 애플리케이션의 고유 식별자입니다. 이 값은 스파스 패키지 매니페스트의 Application 요소에 있는 Id 특성과 일치해야 합니다.
<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
  <assemblyIdentity version="1.0.0.0" name="Contoso.PhotoStoreApp"/>
  <msix xmlns="urn:schemas-microsoft-com:msix.v1"
          publisher="CN=Contoso"
          packageName="ContosoPhotoStore"
          applicationId="ContosoPhotoStore"
        />
</assembly>

heapType

사용할 Win32 힙 API에 대한 기본 힙 구현을 재정의합니다.

  • SegmentHeap 값은 세그먼트 힙이 사용된다는 것을 나타냅니다. 세그먼트 힙은 일반적으로 전체 메모리 사용량을 줄이는 최신 힙 구현입니다. 이 요소는 Windows 10 버전 2004(빌드 19041) 이상에서 지원됩니다.
  • 다른 모든 값은 무시됩니다.

이 요소에는 특성이 없습니다.

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
 ...
  <asmv3:application>
    <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2020/WindowsSettings">
      <heapType>SegmentHeap</heapType>
    </asmv3:windowsSettings>
  </asmv3:application>
 ...
</assembly>

예제

다음은 MySampleApp.exe 애플리케이션에 대한 애플리케이션 매니페스트의 예입니다. 애플리케이션은 SampleAssembly side-by-side 어셈블리를 소비합니다.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> 
      <application> 
        <!--This Id value indicates the application supports Windows Vista functionality -->
          <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/> 
        <!--This Id value indicates the application supports Windows 7 functionality-->
          <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
        <!--This Id value indicates the application supports Windows 8 functionality-->
          <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
        <!--This Id value indicates the application supports Windows 8.1 functionality-->
          <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
      </application> 
  </compatibility>

  <assemblyIdentity type="win32" 
                    name="myOrganization.myDivision.mySampleApp" 
                    version="6.0.0.0" 
                    processorArchitecture="x86" 
                    publicKeyToken="0000000000000000"
  />
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" 
                        name="Proseware.Research.SampleAssembly" 
                        version="6.0.0.0" 
                        processorArchitecture="X86" 
                        publicKeyToken="0000000000000000" 
                        language="*"
      />
    </dependentAssembly>
  </dependency>
</assembly>