MakeAppx.exe ツールを使ったアプリ パッケージの作成Create an app package with the MakeAppx.exe tool

MakeAppx.exe は、アプリ パッケージとアプリ パッケージ バンドルの両方を作成できます。MakeAppx.exe creates both app packages and app package bundles. 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.

重要

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 アプリのパッケージ化」をご覧ください。For more information, see Package a UWP app with Visual Studio.

MakeAppx.exe では .appxupload ファイルを作成できないことに注意してください。Note that MakeAppx.exe does not create an .appxupload file. .Appxupload ファイルは、Visual Studio のパッケージ化プロセスの一部として作成され、その他の 2 つのファイルが含まれています: .msix または .appx と .appxsym します。The .appxupload file is created as part of the Visual Studio packaging process and contains two other files: .msix or .appx and .appxsym. .Appxsym ファイルは、パートナー センターでクラッシュ分析のために使用されるアプリのパブリック シンボルを含んでいる圧縮 .pdb ファイルです。The .appxsym file is a compressed .pdb file containing public symbols of your app used for crash analytics in Partner Center. 通常の .appx ファイルもストアに提出できますが、クラッシュ分析やデバッグ情報を行うことはできません。A regular .appx file can be submitted as well, but there will be no crash analytic or debugging information available. ストアにパッケージを提出する方法について詳しくは、「アプリ パッケージのアップロード」をご覧ください。For more information on submitting packages to the store, see Upload app packages.

最新バージョンの Windows 10 では、このツールの更新プログラムでは、.appx パッケージの使用量は影響しません。Updates to this tool in the most recent version of Windows 10 do not affect .appx package usage. 引き続き .appx パッケージでは、このツールを使用したり、以下のように .msix パッケージのサポート ツールを使用できます。You can continue using this tool with .appx packages, or use the tool with support for .msix packages as described below.

.appxupload ファイルを手動で作成するには:To manually create an .appxupload file:

  • フォルダーで、.msix と .appxsym を配置します。Place the .msix and the .appxsym in a folder
  • ファイルが入ったフォルダーを zip 圧縮するZip the folder
  • zip 圧縮したフォルダーの拡張指名を .zip から .appxupload に変更するChange the zipped folder extension name from .zip to .appxupload

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\x86\makeappx.exex86: C:\Program Files (x86)\Windows Kits\10\bin\x86\makeappx.exe
  • x64: C:\Program Files (x86)\Windows Kits\10\bin\x64\makeappx.exex64: C:\Program Files (x86)\Windows Kits\10\bin\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.

コマンドCommand 説明Description
packpack パッケージを作成します。Creates a package.
unpackunpack 指定されたパッケージ内のすべてのファイルを、指定された出力ディレクトリに抽出します。Extracts all files in the specified package to the specified output directory.
bundlebundle バンドルを作成します。Creates a bundle.
unbundleunbundle 指定された出力パスの下に、バンドルの完全な名前に基づく名前のサブディレクトリを作成し、すべてのパッケージをそのディレクトリにアンパックします。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:

引数Argument 説明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. これは、末尾に .emsix または .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. これは、末尾に .emsix または .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 または .eappxbundle ファイル名です。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 または .eappxbundle ファイル名です。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

アプリ パッケージは、.msix または .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.

bundle コマンドに固有のオプション:Options specific to the bundle command:

オプションOption 説明Description
/bv/bv バンドルのバージョン番号を指定します。Specifies the version number of the bundle. バージョン番号は、4 つの部分をピリオドで区切って、<メジャー番号>.<マイナー番号>.<ビルド>.<リビジョン> の形式で指定します。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.

以下では、bundleコマンドの構文オプションの使用例を示します。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

以下のブロックでは、bundle コマンドの例を示します。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.

unpack コマンドと unbundle コマンドに固有のオプション: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

以下では、unpack コマンドと unbundle コマンドの構文オプションの使用例を示します。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

以下のブロックでは、unpack コマンドと unbundle コマンドの使用例を示します。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.

*encrypt* コマンドと *decrypt* コマンド固有のオプション:Options specific to encrypt and decrypt commands:

オプションOption 説明Description
/ep/ep 暗号化されたアプリ パッケージまたはバンドルを指定します。Specifies an encrypted app package or bundle.

以下では、encrypt コマンドと decrypt コマンドの構文オプションの使用例を示します。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 コマンドと decrypt コマンドの使用例を示します。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

キー ファイルは、1 行目で文字列 "[Keys]" を指定し、2 行目以降で各パッケージを暗号化するキーを記述する必要があります。Key files must begin with a line containing the string "[Keys]" followed by lines describing the keys to encrypt each package with. 各キーは、それぞれが引用符で囲まれた文字列を 2 つ 1 組として空白またはタブで区切って表します。Each key is represented by a pair of strings in quotation marks, separated by either spaces or tabs. 最初の文字列は base64 でエンコードされた 32 バイトのキー ID を表し、2 番目の文字列は base64 でエンコードされた 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

マッピング ファイルでは、1 行目に文字列 "[Files]" を指定し、2 行目以降で各パッケージに追加するファイルを記述する必要があります。Mapping files must begin with a line containing the string "[Files]" followed by lines describing the files to add to the package. 各ファイルは、それぞれが引用符で囲まれたパスを 2 つ 1 組として空白またはタブで区切って表します。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 オプションを使う場合、マッピング ファイル内にそれに対応するセクションを設ける必要があります。このセクションは 1 行目に "[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" は 1 つだけです。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 では、限定的なセマンティックの検証機能により、一般的な展開エラーを検出し、アプリ パッケージの有効性を確認します。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.
  • アプリケーションに、同一の 2 つのキーが存在しないこと。An application does not have two identical keys.
  • アプリケーションが、SMB、FILE、MS-WWA-WEB、MS-WWA のリストに記載された禁止プロトコルを登録していないこと。An application does not register for a forbidden protocol from this list: SMB, FILE, MS-WWA-WEB, MS-WWA.

これは一般的なエラーのみをチェックするように設計された機能であり、完全なセマンティックの検証ではありません。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.