MakeAppx.exe를 사용 하 여 MSIX 패키지 또는 번들 만들기Create an MSIX package or bundle with MakeAppx.exe

MakeAppx.exe 앱 패키지 (.x6 또는 .appx)와 앱 패키지 번들 (. msixbundle 또는 .appxbundle)을 만듭니다.MakeAppx.exe creates both app packages (.msix or .appx) and app package bundles (.msixbundle or .appxbundle). 또한 MakeAppx.exe 는 앱 패키지 또는 번들에서 파일을 추출 하 고 앱 패키지 및 번들을 암호화 하거나 암호를 해독 합니다.MakeAppx.exe also extracts files from an app package or bundle and encrypts or decrypts app packages and bundles. 이 도구는 Windows 10 SDK에 포함되어 있으며 명령 프롬프트 또는 스크립트 파일에서 사용할 수 있습니다.This tool is included in the Windows 10 SDK and can be used from a command prompt or a script file.

MakeApp.exe 를 사용 하 여 데스크톱 앱을 패키징하는 방법에 대 한 자세한 내용은 수동으로 데스크톱 앱 패키지를 참조 하세요.For information about how to use MakeApp.exe to package a desktop app, see Package a desktop app manually.

중요

Visual Studio를 사용 하 여 앱을 개발 하는 경우 Visual Studio 마법사를 사용 하 여 앱 패키지를 만드는 것이 좋습니다.If you used Visual Studio to develop your app, it's recommended that you use the Visual Studio wizard to create your app package. 자세한 내용은 Visual studio를 사용 하 여 UWP 앱 패키지visual studio를 사용 하 여 소스 코드에서 데스크톱 앱 패키지를 참조 하세요.For more information, see Package a UWP app with Visual Studio and Package a desktop app from source code using Visual Studio.

중요

MakeAppx.exe파트너 센터에 제출할올바른 앱 패키지의 권장 유형인 앱 패키지 업로드 파일 (. .appxupload 또는. a n x 업로드)을 만들지 않습니다.Note that MakeAppx.exe does not create an app package upload file (.appxupload or .msixupload), which is the recommended type of valid app package for submissions to Partner Center. 응용 프로그램 패키지 업로드 파일은 수동으로 만들 수도 있지만 일반적으로 Visual Studio 패키징 프로세스의 일부로 생성됩니다.The app package upload file is typically created as part of the Visual Studio packaging process, although it can also be created manually.

MakeAppx.exe 사용Using MakeAppx.exe

SDK의 설치 경로에 따라 MakeAppx.exe WINDOWS 10 PC에 있습니다.Based on your installation path of the SDK, this is where MakeAppx.exe is on your Windows 10 PC:

  • x86: C:\Program Files (x86) \Windows Kits\10\bin arch> \ < 빌드 번호 >\x86\makeappx.exex86: C:\Program Files (x86)\Windows Kits\10\bin\<build number>\x86\makeappx.exe
  • x64: C:\Program Files (x86) \Windows Kits\10\bin arch> \ < 빌드 번호 >\x64\makeappx.exex64: C:\Program Files (x86)\Windows Kits\10\bin\<build number>\x64\makeappx.exe

이 도구의 ARM 버전이 없습니다.There is no ARM version of this tool.

MakeAppx.exe 구문 및 옵션MakeAppx.exe syntax and options

일반 MakeAppx.exe 구문:General MakeAppx.exe syntax:

MakeAppx <command> [options]      

다음 표에서는 MakeAppx.exe에 대 한 명령을 설명 합니다.The following table describes the commands for MakeAppx.exe.

CommandCommand 설명Description
packpack 패키지를 만듭니다.Creates a package.
압축 풀기unpack 지정 된 출력 디렉터리에 지정 된 패키지의 모든 파일을 추출 합니다.Extracts all files in the specified package to the specified output directory.
묶는bundle 번들을 만듭니다.Creates a bundle.
번들로 묶인unbundle 번들 전체 이름 다음에 명명 된 지정 된 출력 경로의 하위 디렉터리에 모든 패키지의 압축을 풉니다.Unpacks all packages to a subdirectory under the specified output path named after the bundle full name.
encryptencrypt 지정 된 출력 패키지/번들의 입력 패키지/번들에서 암호화 된 앱 패키지 또는 번들을 만듭니다.Creates an encrypted app package or bundle from the input package/bundle at the specified output package/bundle.
decryptdecrypt 지정 된 출력 패키지/번들의 입력 앱 패키지/번들에서 해독 된 앱 패키지 또는 번들을 만듭니다.Creates an decrypted app package or bundle from the input app package/bundle at the specified output package/bundle.

이 옵션 목록은 모든 명령에 적용 됩니다.This list of options applies to all commands:

옵션Option 설명Description
/d/d 입력, 출력 또는 콘텐츠 디렉터리를 지정 합니다.Specifies the input, output, or content directory.
/l/l 지역화 된 패키지에 사용 됩니다.Used for localized packages. 지역화 된 패키지에 대 한 기본 유효성 검사입니다.The default validation trips on localized packages. 이 옵션은 모든 유효성 검사를 사용 하지 않도록 설정 하지 않고도 특정 유효성 검사만 사용 하도록 설정 합니다.This options disables only that specific validation, without requiring that all validation be disabled.
/kf/kf 지정 된 키 파일의 키를 사용 하 여 패키지 또는 번들을 암호화 하거나 암호를 해독 합니다.Encrypts or decrypts the package or bundle using the key from the specified key file. /Kt.와 함께 사용할 수 없습니다.This can't be used with /kt.
/kt/kt 전역 테스트 키를 사용 하 여 또는 암호 해독 패키지 또는 번들을 암호화 합니다.Encrypts the or decrypts package or bundle using the global test key. /Kf. 사용할 수 없습니다.This can't be used with /kf.
/no/no 출력 파일이 있는 경우 덮어쓸 수 없도록 합니다.Prevents an overwrite of the output file if it exists. 이 옵션이 나/o 옵션을 지정 하지 않으면 사용자에 게 파일을 덮어쓸지 여부를 묻는 메시지가 표시 됩니다.If you don't specify this option or the /o option, the user is asked whether they want to overwrite the file.
/nv/nv 의미 체계 유효성 검사를 건너뜁니다.Skips semantic validation. 이 옵션을 지정 하지 않으면 도구에서 패키지에 대 한 전체 유효성 검사를 수행 합니다.If you don't specify this option, the tool performs a full validation of the package.
/o/o 출력 파일이 있는 경우이 파일을 덮어씁니다.Overwrites the output file if it exists. 이 옵션 또는/no 옵션을 지정 하지 않으면 사용자에 게 파일을 덮어쓸지 여부를 묻는 메시지가 표시 됩니다.If you don't specify this option or the /no option, the user is asked whether they want to overwrite the file.
/p/p 앱 패키지 또는 번들을 지정 합니다.Specifies the app package or bundle.
/v/v 콘솔에 자세한 로깅 출력을 사용 하도록 설정 합니다.Enables verbose logging output to the console.
/?/? 도움말 텍스트를 표시 합니다.Displays help text.

다음 목록에는 가능한 인수가 있습니다.The following list contains possible arguments:

ArgumentArgument 설명Description
<출력 패키지 이름><output package name> 만든 패키지의 이름입니다.The name of the package created. 이 파일 이름에는. msix 또는 .appx가 추가 됩니다.This is the file name appended with .msix or .appx.
<암호화 된 출력 패키지 이름><encrypted output package name> 만든 암호화 된 패키지의 이름입니다.The name of the encrypted package created. 이 파일 이름에는. ema6 또는. eappx가 추가 됩니다.This is the file name appended with .emsix or .eappx.
<입력 패키지 이름><input package name> 패키지의 이름입니다.The name of the package. 이 파일 이름에는. msix 또는 .appx가 추가 됩니다.This is the file name appended with .msix or .appx.
<암호화 된 입력 패키지 이름><encrypted input package name> 암호화 된 패키지의 이름입니다.The name of the encrypted package. 이 파일 이름에는. ema6 또는. eappx가 추가 됩니다.This is the file name appended with .emsix or .eappx.
<출력 번들 이름><output bundle name> 만든 번들의 이름입니다.The name of the bundle created. 파일 이름에는. msixbundle 또는 .appxbundle가 추가 됩니다.This is the file name appended with .msixbundle or .appxbundle.
<암호화 된 출력 번들 이름><encrypted output bundle name> 만든 암호화 된 번들의 이름입니다.The name of the encrypted bundle created. 이 파일 이름에는 emsixbundle 또는. n a t e가 추가 됩니다.This is the file name appended with .emsixbundle or .eappxbundle.
<입력 번들 이름><input bundle name> 번들의 이름입니다.The name of the bundle. 파일 이름에는. msixbundle 또는 .appxbundle가 추가 됩니다.This is the file name appended with .msixbundle or .appxbundle.
<암호화 된 입력 번들 이름><encrypted input bundle name> 암호화 된 번들의 이름입니다.The name of the encrypted bundle. 이 파일 이름에는 emsixbundle 또는. n a t e가 추가 됩니다.This is the file name appended with .emsixbundle or .eappxbundle.
<콘텐츠 디렉터리><content directory> 앱 패키지 또는 번들 콘텐츠의 경로입니다.Path for the app package or bundle content.
<매핑 파일><mapping file> 패키지 원본 및 대상을 지정 하는 파일 이름입니다.File name that specifies the package source and destination.
<출력 디렉터리><output directory> 출력 패키지 및 번들의 디렉터리 경로입니다.Path to the directory for output packages and bundles.
<키 파일><key file> 암호화 또는 암호 해독을 위한 키를 포함 하는 파일의 이름입니다.Name of the file containing a key for encryption or decryption.
<알고리즘 ID><algorithm ID> 블록 맵을 만들 때 사용 되는 알고리즘입니다.Algorithms used when creating a block map. 유효한 알고리즘은 SHA256 (기본값), SHA384, SHA512입니다.Valid algorithms include: SHA256 (default), SHA384, SHA512.

앱 패키지 만들기Create an app package

앱 패키지는. m 6 또는 .appx 패키지 파일에 패키지 된 앱 파일의 전체 집합입니다.An app package is a complete set of the app's files packaged in to a .msix or .appx package file. Pack 명령을 사용 하 여 앱 패키지를 만들려면 패키지 위치에 대 한 콘텐츠 디렉터리 또는 매핑 파일을 제공 해야 합니다.To create an app package using the pack command, you must provide either a content directory or a mapping file for the location of the package. 패키지를 만드는 동안 암호화할 수도 있습니다.You can also encrypt a package while creating it. 패키지를 암호화 하려면/ep를 사용 하 고 키 파일 (/kf) 또는/kt (전역 테스트 키)를 사용 하는 경우를 지정 해야 합니다.If you want to encrypt the package, you must use /ep and specify if you are using a key file (/kf) or the global test key (/kt). 암호화 된 패키지를 만드는 방법에 대 한 자세한 내용은 패키지 또는 번들 암호화 또는 암호 해독을 참조 하세요.For more information on creating an encrypted package, see Encrypt or decrypt a package or bundle.

Pack 명령과 관련 된 옵션:Options specific to the pack command:

옵션Option 설명Description
/f/f 매핑 파일을 지정 합니다.Specifies the mapping file.
/h/h 블록 맵을 만들 때 사용할 해시 알고리즘을 지정 합니다.Specifies the hash algorithm to use when creating the block map. Pack 명령에만 사용할 수 있습니다.This can only be used with the pack command. 유효한 알고리즘은 SHA256 (기본값), SHA384, SHA512입니다.Valid algorithms include: SHA256 (default), SHA384, SHA512.
/m/m 출력 앱 패키지 또는 리소스 패키지의 매니페스트를 생성 하기 위한 기반으로 사용할 입력 응용 프로그램 매니페스트의 경로를 지정 합니다.Specifies the path to an input app manifest which will be used as the basis for generating the output app package or resource package's manifest. 이 옵션을 사용 하는 경우/f를 사용 하 고 매핑 파일에 [ResourceMetadata] 섹션을 포함 하 여 생성 된 매니페스트에 포함할 리소스 차원을 지정 해야 합니다.When you use this option, you must also use /f and include a [ResourceMetadata] section in the mapping file to specify the resource dimensions to be included in the generated manifest.
/nc/nc 패키지 파일의 압축을 방지 합니다.Prevents compression of the package files. 기본적으로 파일은 검색 된 파일 형식에 따라 압축 됩니다.By default, files are compressed based on detected file type.
/r/r 리소스 패키지를 빌드합니다.Builds a resource package. 이 옵션은/m과 함께 사용 해야 하며/l 옵션을 사용 하는 것을 의미 합니다.This must be used with /m and implies the use of the /l option.

다음 사용 예에서는 pack 명령에 사용할 수 있는 몇 가지 구문 옵션을 보여 줍니다.The following usage examples show some possible syntax options for the pack command:

MakeAppx pack [options] /d <content directory> /p <output package name>
MakeAppx pack [options] /f <mapping file> /p <output package name>
MakeAppx pack [options] /m <app package manifest> /f <mapping file> /p <output package name>
MakeAppx pack [options] /r /m <app package manifest> /f <mapping file> /p <output package name>
MakeAppx pack [options] /d <content directory> /ep <encrypted output package name> /kf <key file>
MakeAppx pack [options] /d <content directory> /ep <encrypted output package name> /kt

다음은 pack 명령에 대 한 명령줄 예제를 보여 줍니다.The following shows command line examples for the pack command:

MakeAppx pack /v /h SHA256 /d "C:\My Files" /p MyPackage.msix
MakeAppx pack /v /o /f MyMapping.txt /p MyPackage.msix
MakeAppx pack /m "MyApp\AppxManifest.xml" /f MyMapping.txt /p AppPackage.msix
MakeAppx pack /r /m "MyApp\AppxManifest.xml" /f MyMapping.txt /p ResourcePackage.msix
MakeAppx pack /v /h SHA256 /d "C:\My Files" /ep MyPackage.emsix /kf MyKeyFile.txt
MakeAppx pack /v /h SHA256 /d "C:\My Files" /ep MyPackage.emsix /kt

앱 번들 만들기Create an app bundle

앱 번들은 앱 패키지와 유사 하지만 번들은 사용자가 다운로드 하는 앱의 크기를 줄일 수 있습니다.An app bundle is similar to an app package, but a bundle can reduce the size of the app that users download. 앱 번들은 언어별 자산, 다양 한 이미지 배율 자산 또는 특정 버전의 Microsoft DirectX에 적용 되는 리소스 (예:)에 유용 합니다.App bundles are helpful for language-specific assets, varying image-scale assets, or resources that apply to specific versions of Microsoft DirectX, for example. 암호화 된 앱 패키지를 만들 때와 마찬가지로, 앱 번들을 번들로 암호화할 수도 있습니다.Similar to creating an encrypted app package, you can also encrypt the app bundle while bundling it. 앱 번들을 암호화 하려면/ep 옵션을 사용 하 고 키 파일 (/kf) 또는/kt (전역 테스트 키)를 사용 하는 경우를 지정 합니다.To encrypt the app bundle, use the /ep option and specify if you are using a key file (/kf) or the global test key (/kt). 암호화 된 번들을 만드는 방법에 대 한 자세한 내용은 패키지 또는 번들 암호화 또는 암호 해독을 참조 하세요.For more information on creating an encrypted bundle, see Encrypt or decrypt a package or bundle.

번들 명령과 관련 된 옵션은 다음과 같습니다.Options specific to the bundle command:

옵션Option 설명Description
/bv/bv 번들의 버전 번호를 지정 합니다.Specifies the version number of the bundle. 버전 번호는 < 주 > < 형식으로 마침표로 구분 된 네 부분으로 구성 되어야 합니다. 부 > . < 빌드 > . < 수정 버전 > .The version number must be in four parts separated by periods in the form: <Major>.<Minor>.<Build>.<Revision>.
/f/f 매핑 파일을 지정 합니다.Specifies the mapping file.

번들 버전을 지정 하지 않거나 "0.0.0.0"으로 설정 하면 현재 날짜/시간을 사용 하 여 번들이 생성 됩니다.Note that if the bundle version is not specified or if it is set to "0.0.0.0" the bundle is created using the current date-time.

다음 사용 예에서는 번들 명령에 대 한 몇 가지 가능한 구문 옵션을 보여 줍니다.The following usage examples show some possible syntax options for the bundle command:

MakeAppx bundle [options] /d <content directory> /p <output bundle name>
MakeAppx bundle [options] /f <mapping file> /p <output bundle name>
MakeAppx bundle [options] /d <content directory> /ep <encrypted output bundle name> /kf MyKeyFile.txt
MakeAppx bundle [options] /f <mapping file> /ep <encrypted output bundle name> /kt

다음 블록에는 번들 명령에 대 한 예제가 포함 되어 있습니다.The following block contains examples for the bundle command:

MakeAppx bundle /v /d "C:\My Files" /p MyBundle.msixbundle
MakeAppx bundle /v /o /bv 1.0.1.2096 /f MyMapping.txt /p MyBundle.msixbundle
MakeAppx bundle /v /o /bv 1.0.1.2096 /f MyMapping.txt /ep MyBundle.emsixbundle /kf MyKeyFile.txt
MakeAppx bundle /v /o /bv 1.0.1.2096 /f MyMapping.txt /ep MyBundle.emsixbundle /kt

패키지 또는 번들에서 파일 추출Extract files from a package or bundle

앱을 패키지 하 고 번들 하는 것 외에도 기존 패키지의 압축을 풀거나 제거할 수 MakeAppx.exe .In addition to packaging and bundling apps, MakeAppx.exe can also unpack or unbundle existing packages. 압축을 푼 파일의 대상으로 콘텐츠 디렉터리를 제공 해야 합니다.You must provide the content directory as a destination for the extracted files. 암호화 된 패키지 또는 번들에서 파일을 추출 하려는 경우에는/ep 옵션을 사용 하 여 파일의 암호를 해독 하 고 압축을 해제 하 고 키 파일 (/kf) 또는/kt (전역 테스트 키)를 사용 하 여 암호를 해독 해야 할지 여부를 지정할 수 있습니다.If you are trying to extract files from an encrypted package or bundle, you can decrypt and extract the files at the same time using the /ep option and specifying whether it should be decrypted using a key file (/kf) or the global test key (/kt). 패키지 또는 번들의 암호를 해독 하는 방법에 대 한 자세한 내용은 패키지 또는 번들 암호화 또는 암호 해독을 참조 하세요.For more information on decrypting a package or bundle, see Encrypt or decrypt a package or bundle.

압축 풀기번들로 묶인 명령과 관련 한 옵션:Options specific to unpack and unbundle commands:

옵션Option 설명Description
/nd/nd 패키지/번들의 압축을 푸는 경우 암호 해독을 수행 하지 않습니다.Does not perform decryption when unpacking or unbundling the package/bundle.
/pfn/pfn 압축을 풀고 지정 된 출력 경로 아래에 있는 하위 디렉터리에 모든 파일을 번들로 묶습니다. 패키지 또는 번들 전체 이름 뒤에 이름이 지정 됩니다.Unpacks/unbundles all files to a subdirectory under the specified output path, named after the package or bundle full name

다음 사용 예에서는 압축 풀기번들로 묶인 명령에 대 한 몇 가지 가능한 구문 옵션을 보여 줍니다.The following usage examples show some possible syntax options for the unpack and unbundle commands:

MakeAppx unpack [options] /p <input package name> /d <output directory>
MakeAppx unpack [options] /ep <encrypted input package name> /d <output directory> /kf <key file>
MakeAppx unpack [options] /ep <encrypted input package name> /d <output directory> /kt

MakeAppx unbundle [options] /p <input bundle name> /d <output directory>
MakeAppx unbundle [options] /ep <encrypted input bundle name> /d <output directory> /kf <key file>
MakeAppx unbundle [options] /ep <encrypted input bundle name> /d <output directory> /kt

다음 블록에는 압축 풀기번들로 묶인 명령을 사용 하는 예가 포함 되어 있습니다.The following block contains examples for using the unpack and unbundle commands:

MakeAppx unpack /v /p MyPackage.msix /d "C:\My Files"
MakeAppx unpack /v /ep MyPackage.emsix /d "C:\My Files" /kf MyKeyFile.txt
MakeAppx unpack /v /ep MyPackage.emsix /d "C:\My Files" /kt

MakeAppx unbundle /v /p MyBundle.msixbundle /d "C:\My Files"
MakeAppx unbundle /v /ep MyBundle.emsixbundle /d "C:\My Files" /kf MyKeyFile.txt
MakeAppx unbundle /v /ep MyBundle.emsixbundle /d "C:\My Files" /kt

패키지 또는 번들 암호화 또는 암호 해독Encrypt or decrypt a package or bundle

MakeAppx.exe 도구는 기존 패키지 또는 번들을 암호화 하거나 암호 해독할 수도 있습니다.The MakeAppx.exe tool can also encrypt or decrypt an existing package or bundle. 패키지 이름, 출력 패키지 이름 및 암호화 또는 암호 해독이 키 파일 (/kf)을 사용 해야 하는지 아니면/kt (전역 테스트 키)를 사용 해야 하는지 여부를 제공 해야 합니다.You must simply provide the package name, the output package name, and whether encryption or decryption should use a key file (/kf) or the global test key (/kt).

암호화 및 암호 해독은 Visual Studio 패키징 마법사를 통해 사용할 수 없습니다.Encryption and decryption are not available through the Visual Studio packaging wizard.

암호화암호 해독 명령과 관련 한 옵션:Options specific to encrypt and decrypt commands:

옵션Option 설명Description
/ep/ep 암호화 된 앱 패키지 또는 번들을 지정 합니다.Specifies an encrypted app package or bundle.

다음 사용 예에서는 암호화암호 해독 명령에 대 한 몇 가지 가능한 구문 옵션을 보여 줍니다.The following usage examples show some possible syntax options for the encrypt and decrypt commands:

MakeAppx encrypt [options] /p <package name> /ep <output package name> /kf <key file>
MakeAppx encrypt [options] /p <package name> /ep <output package name> /kt

MakeAppx decrypt [options] /ep <package name> /p <output package name> /kf <key file>
MakeAppx decrypt [options] /ep <package name> /p <output package name> /kt

다음 블록에는 encrypt암호 해독 명령을 사용 하기 위한 예제가 포함 되어 있습니다.The following block contains examples for using the encrypt and decrypt commands:

MakeAppx.exe encrypt /p MyPackage.msix /ep MyEncryptedPackage.emsix /kt
MakeAppx.exe encrypt /p MyPackage.msix /ep MyEncryptedPackage.emsix /kf MyKeyFile.txt

MakeAppx.exe decrypt /p MyPackage.msix /ep MyEncryptedPackage.emsix /kt
MakeAppx.exe decrypt p MyPackage.msix /ep MyEncryptedPackage.emsix /kf MyKeyFile.txt

키 파일Key files

키 파일은 "[Keys]" 문자열이 포함 된 줄로 시작 하 고 각 패키지를 암호화 하는 데 사용 되는 키를 설명 하는 줄로 시작 해야 합니다.Key files must begin with a line containing the string "[Keys]" followed by lines describing the keys to encrypt each package with. 각 키는 공백이 나 탭으로 구분 된, 따옴표로 묶인 문자열 쌍으로 표현 됩니다.Each key is represented by a pair of strings in quotation marks, separated by either spaces or tabs. 첫 번째 문자열은 b a s e 64로 인코딩된 32 바이트 키 ID를 나타내고, 두 번째 문자열은 b a s e 64로 인코딩된 32 바이트 암호화 키를 나타냅니다.The first string represents the base64 encoded 32-byte key ID and the second represents the base64 encoded 32-byte encryption key. 키 파일은 간단한 텍스트 파일 이어야 합니다.A key file should be a simple text file.

키 파일의 예:Example of a key file:

[Keys]
"OWVwSzliRGY1VWt1ODk4N1Q4R2Vqc04zMzIzNnlUREU="    "MjNFTlFhZGRGZEY2YnVxMTBocjd6THdOdk9pZkpvelc="

매핑 파일Mapping files

매핑 파일은 "[Files]" 문자열을 포함 하는 줄로 시작 하 고 패키지에 추가할 파일을 설명 하는 줄로 시작 해야 합니다.Mapping files must begin with a line containing the string "[Files]" followed by lines describing the files to add to the package. 각 파일은 공백이 나 탭으로 구분 된, 따옴표 안에 있는 경로 쌍으로 설명 됩니다.Each file is described by a pair of paths in quotation marks, separated by either spaces or tabs. 각 파일은 디스크의 원본 및 패키지의 대상 (패키지)을 나타냅니다.Each file represents its source (on disk) and destination (in the package). 매핑 파일은 간단한 텍스트 파일 이어야 합니다.A mapping file should be a simple text file.

매핑 파일의 예 (/m 옵션 없음):Example of a mapping file (without the /m option):

[Files]
"C:\MyApp\StartPage.html"               "default.html"
"C:\Program Files (x86)\example.txt"    "misc\example.txt"
"\\MyServer\path\icon.png"              "icon.png"
"my app files\readme.txt"               "my app files\readme.txt"
"CustomManifest.xml"                    "AppxManifest.xml"

매핑 파일을 사용할 때 /m 옵션을 사용할지 여부를 선택할 수 있습니다.When using a mapping file, you can choose whether you would like to use the /m option. /M 옵션을 사용 하면 사용자는 생성 된 매니페스트에 포함할 매핑 파일의 리소스 메타 데이터를 지정할 수 있습니다.The /m option allows the user to specify the resource metadata in the mapping file to be included in the generated manifest. /M 옵션을 사용 하는 경우 매핑 파일에는 "[ResourceMetadata]" 줄로 시작 하는 섹션과 "ResourceDimensions" 및 "ResourceId"를 지정 하는 줄이 포함 되어야 합니다.If you use the /m option, the mapping file must contain a section that begins with the line "[ResourceMetadata]", followed by lines that specify "ResourceDimensions" and "ResourceId." 앱 패키지에 여러 "ResourceDimensions"이 포함 될 수 있지만 "ResourceId"는 하나만 있을 수 있습니다.It is possible for an app package to contain multiple "ResourceDimensions", but there can only ever be one "ResourceId."

매핑 파일의 예 (/m 옵션 사용):Example of a mapping file (with the /m option):

[ResourceMetadata]
"ResourceDimensions"                    "language-en-us"
"ResourceId"                            "English"

[Files]
"images\en-us\logo.png"                 "en-us\logo.png"
"en-us.pri"                             "resources.pri"

MakeAppx.exe에서 수행 하는 의미 체계 유효성 검사Semantic validation performed by MakeAppx.exe

MakeAppx.exe 은 가장 일반적인 배포 오류를 포착 하 고 앱 패키지가 유효한 지 확인 하도록 설계 된 제한 된 sematic 유효성 검사를 수행 합니다.MakeAppx.exe performs limited sematic validation that is designed to catch the most common deployment errors and help ensure that the app package is valid. MakeAppx.exe를 사용 하는 동안 유효성 검사를 건너뛰려면/nv 옵션을 참조 하세요.See the /nv option if you want to skip validation while using MakeAppx.exe.

이 유효성 검사를 수행 하면 다음이 수행 됩니다.This validation ensures that:

  • 패키지 매니페스트에서 참조 되는 모든 파일은 앱 패키지에 포함 됩니다.All files referenced in the package manifest are included in the app package.
  • 응용 프로그램에 두 개의 동일한 키가 없는 경우An application does not have two identical keys.
  • 응용 프로그램은이 목록에서 사용할 수 없는 프로토콜에 대해 등록 하지 않습니다. SMB, 파일, MS-WWA-웹, MS-WWA.An application does not register for a forbidden protocol from this list: SMB, FILE, MS-WWA-WEB, MS-WWA.

이는 일반적인 오류를 catch 하기 위한 것 이므로 완전 한 의미 체계 유효성 검사는 아닙니다.This is not a complete semantic validation as it is only designed to catch common errors. MakeAppx.exe 로 빌드된 패키지는 설치 되지 않을 수도 있습니다.Packages built by MakeAppx.exe are not guaranteed to be installable.