Criar um pacote ou grupo MSIX com MakeAppx.exeCreate an MSIX package or bundle with MakeAppx.exe

MakeAppx.exe cria os pacotes de aplicativos (. msix ou. AppX) e os pacotes de pacote de aplicativo (. msixbundle ou. appxbundle).MakeAppx.exe creates both app packages (.msix or .appx) and app package bundles (.msixbundle or .appxbundle). Além disso, a MakeAppx.exe extrai arquivos de um pacote ou lote de aplicativo e criptografa ou descriptografa pacotes e lotes de aplicativos.MakeAppx.exe also extracts files from an app package or bundle and encrypts or decrypts app packages and bundles. Essa ferramenta está incluída no SDK do Windows 10 e pode ser usada em um prompt de comando ou um arquivo de script.This tool is included in the Windows 10 SDK and can be used from a command prompt or a script file.

Para obter informações sobre como usar MakeApp.exe para empacotar um aplicativo de área de trabalho, consulte empacotar um aplicativo de área de trabalho manualmente.For information about how to use MakeApp.exe to package a desktop app, see Package a desktop app manually.

Importante

Se você usou o Visual Studio para desenvolver seu app, é recomendável que você use o Assistente do Visual Studio para criar e assinar seu pacote de app.If you used Visual Studio to develop your app, it's recommended that you use the Visual Studio wizard to create your app package. Para obter mais informações, consulte empacotar um aplicativo UWP com o Visual Studio e empacotar um aplicativo de desktop do código-fonte usando o Visual Studio.For more information, see Package a UWP app with Visual Studio and Package a desktop app from source code using Visual Studio.

Importante

Observe que MakeAppx.exe não cria um arquivo de carregamento de pacote de aplicativo (. appxupload ou. msixupload), que é o tipo recomendado de pacote de aplicativo válido para envios para o Partner Center.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. O arquivo de upload do pacote do aplicativo normalmente é criado como parte do processo de empacotamento do Visual Studio, embora também possa ser criado manualmente.The app package upload file is typically created as part of the Visual Studio packaging process, although it can also be created manually.

Usando a MakeAppx.exeUsing MakeAppx.exe

Dependendo do seu caminho de instalação do SDK, a MakeAppx.exe é instalada no computador Windows 10 nos seguintes locais:Based on your installation path of the SDK, this is where MakeAppx.exe is on your Windows 10 PC:

  • x86: C:\Arquivos de programas (x86) \Windows Kits\10\bin \ < número de Build >\x86\makeappx.exex86: C:\Program Files (x86)\Windows Kits\10\bin\<build number>\x86\makeappx.exe
  • x64: C:\Arquivos de programas (x86) \Windows Kits\10\bin \ < número de Build >\x64\makeappx.exex64: C:\Program Files (x86)\Windows Kits\10\bin\<build number>\x64\makeappx.exe

Não há nenhuma versão ARM dessa ferramenta.There is no ARM version of this tool.

Sintaxe e opções da MakeAppx.exeMakeAppx.exe syntax and options

Sintaxe geral da MakeAppx.exe:General MakeAppx.exe syntax:

MakeAppx <command> [options]      

A tabela a seguir descreve os comandos da MakeAppx.exe.The following table describes the commands for MakeAppx.exe.

ComandoCommand DescriçãoDescription
packpack Cria um pacote.Creates a package.
unpackunpack Extrai todos os arquivos do pacote especificado para o diretório de saída especificado.Extracts all files in the specified package to the specified output directory.
bundlebundle Cria um pacote.Creates a bundle.
unbundleunbundle Descompacta todos os pacotes em um subdiretório no caminho de saída especificado nomeado de acordo com o nome completo do pacote.Unpacks all packages to a subdirectory under the specified output path named after the bundle full name.
encryptencrypt Cria um pacote ou lote de aplicativo criptografado a partir do pacote/lote de entrada no pacote/lote de saída especificado.Creates an encrypted app package or bundle from the input package/bundle at the specified output package/bundle.
descriptografardecrypt Cria um pacote ou lote de aplicativo descriptografado a partir do pacote/lote de aplicativo de entrada no pacote/lote de saída especificado.Creates an decrypted app package or bundle from the input app package/bundle at the specified output package/bundle.

Esta lista de opções se aplica a todos os comandos:This list of options applies to all commands:

OpçãoOption DescriçãoDescription
/d/d Especifica a entrada, a saída ou o diretório de conteúdo.Specifies the input, output, or content directory.
/l/l Usado para pacotes localizados.Used for localized packages. A validação padrão é bloqueada em pacotes localizados.The default validation trips on localized packages. Essas opção desabilita apenas aquela validação específica, sem exigir que todas as validações sejam desabilitadas.This options disables only that specific validation, without requiring that all validation be disabled.
/kf/kf Criptografa ou descriptografa o pacote ou lote usando a chave do arquivo de chave especificado.Encrypts or decrypts the package or bundle using the key from the specified key file. Essa opção não pode ser usada com /kt.This can't be used with /kt.
/kt/kt Criptografa ou descriptografa o pacote ou lote usando a chave de teste global.Encrypts the or decrypts package or bundle using the global test key. Essa opção não pode ser usada com /kf.This can't be used with /kf.
/no/no Impede uma substituição do arquivo de saída, se houver.Prevents an overwrite of the output file if it exists. Se você não especificar essa opção ou a opção /o, será perguntado ao usuário se ele deseja substituir o arquivo.If you don't specify this option or the /o option, the user is asked whether they want to overwrite the file.
/nv/nv Ignora a validação semântica.Skips semantic validation. Se você não especificar essa opção, a ferramenta executará uma validação completa do pacote.If you don't specify this option, the tool performs a full validation of the package.
/o/o Substitui o arquivo de saída, se houver.Overwrites the output file if it exists. Se você não especificar essa opção ou a opção /no, será perguntado ao usuário se ele deseja substituir o arquivo.If you don't specify this option or the /no option, the user is asked whether they want to overwrite the file.
/p/p Especifica o pacote ou lote de aplicativo.Specifies the app package or bundle.
/v/v Habilita a saída do log detalhado no console.Enables verbose logging output to the console.
/?/? Exibe o texto da Ajuda.Displays help text.

A lista a seguir contém argumentos possíveis:The following list contains possible arguments:

ArgumentArgument DescriçãoDescription
<output package name><output package name> O nome do pacote criado.The name of the package created. Esse é o nome do arquivo anexado com. msix ou. Appx.This is the file name appended with .msix or .appx.
<encrypted output package name><encrypted output package name> O nome do pacote criptografado criado.The name of the encrypted package created. Esse é o nome do arquivo anexado com. emsix ou. eappx.This is the file name appended with .emsix or .eappx.
<input package name><input package name> O nome do pacote.The name of the package. Esse é o nome do arquivo anexado com. msix ou. Appx.This is the file name appended with .msix or .appx.
<encrypted input package name><encrypted input package name> O nome do pacote criptografado.The name of the encrypted package. Esse é o nome do arquivo anexado com. emsix ou. eappx.This is the file name appended with .emsix or .eappx.
<output bundle name><output bundle name> O nome do lote criado.The name of the bundle created. Esse é o nome do arquivo anexado com. msixbundle ou. appxbundle.This is the file name appended with .msixbundle or .appxbundle.
<encrypted output bundle name><encrypted output bundle name> O nome do lote criptografado criado.The name of the encrypted bundle created. Esse é o nome do arquivo anexado com. emsixbundle ou. eappxbundle.This is the file name appended with .emsixbundle or .eappxbundle.
<input bundle name><input bundle name> O nome do lote.The name of the bundle. Esse é o nome do arquivo anexado com. msixbundle ou. appxbundle.This is the file name appended with .msixbundle or .appxbundle.
<encrypted input bundle name><encrypted input bundle name> O nome do lote criptografado.The name of the encrypted bundle. Esse é o nome do arquivo anexado com. emsixbundle ou. eappxbundle.This is the file name appended with .emsixbundle or .eappxbundle.
<content directory><content directory> Caminho do conteúdo do pacote ou lote de aplicativo.Path for the app package or bundle content.
<mapping file><mapping file> Nome do arquivo que especifica a origem e o destino do pacote.File name that specifies the package source and destination.
<output directory><output directory> Caminho do diretório de pacotes e lotes de saída.Path to the directory for output packages and bundles.
<key file><key file> Nome do arquivo que contém uma chave de criptografia ou descriptografia.Name of the file containing a key for encryption or decryption.
<algorithm ID><algorithm ID> Algoritmos usados durante a criação de um mapa de blocos.Algorithms used when creating a block map. Os algoritmos válidos incluem: SHA256 (padrão), SHA384, SHA512.Valid algorithms include: SHA256 (default), SHA384, SHA512.

Criar um pacote de aplicativoCreate an app package

Um pacote de aplicativo é um conjunto completo de arquivos do aplicativo empacotado em um arquivo de pacote. msix ou. Appx.An app package is a complete set of the app's files packaged in to a .msix or .appx package file. Para criar um pacote de aplicativo usando o comando pack, você deve informar um diretório de conteúdo ou um arquivo de mapeamento para o local do pacote.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. Você também pode criptografar um pacote ao criá-lo.You can also encrypt a package while creating it. Se desejar criptografar o pacote, você deverá usar /ep e especificar se está usando um arquivo de chave (/kf) ou a tecla de teste global (/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). Para obter mais informações sobre como criar um pacote criptografado, consulte Criptografar ou descriptografar um pacote ou um lote.For more information on creating an encrypted package, see Encrypt or decrypt a package or bundle.

Opções específicas ao comando pack:Options specific to the pack command:

OpçãoOption DescriçãoDescription
/f/f Especifica o arquivo de mapeamento.Specifies the mapping file.
/h/h Especifica o algoritmo de hash a ser usado ao criar o mapa de blocos.Specifies the hash algorithm to use when creating the block map. Isso pode ser usado apenas com o comando pack.This can only be used with the pack command. Os algoritmos válidos incluem: SHA256 (padrão), SHA384, SHA512.Valid algorithms include: SHA256 (default), SHA384, SHA512.
/m/m Especifica o caminho de um manifesto de aplicativo de entrada que será usado como base para gerar o pacote de aplicativo de saída ou o manifesto do pacote de recursos.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. Ao usar essa opção, você também deve usar /f e incluir uma seção [ResourceMetadata] no arquivo de mapeamento para especificar as dimensões do recurso a serem incluídas no manifesto gerado.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 Impede a compactação dos arquivos do pacote.Prevents compression of the package files. Por padrão, os arquivos são compactados com base no tipo de arquivo detectado.By default, files are compressed based on detected file type.
/r/r Cria um pacote de recursos.Builds a resource package. Isso deve ser usado com /m e implica o uso da opção /l.This must be used with /m and implies the use of the /l option.

Os exemplos de uso a seguir mostram algumas opções de sintaxe possíveis para o comando 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

A seguir estão alguns exemplos de linha de comando para o comando 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

Criar um lote de aplicativoCreate an app bundle

Um lote de aplicativo é semelhante a um pacote de aplicativo, mas um lote pode reduzir o tamanho do app que os usuários baixam.An app bundle is similar to an app package, but a bundle can reduce the size of the app that users download. Os lotes de aplicativos são úteis para ativos específicos ao idioma, ativos de escala de imagem variáveis ou recursos que se aplicam a versões específicas do Microsoft DirectX, por exemplo.App bundles are helpful for language-specific assets, varying image-scale assets, or resources that apply to specific versions of Microsoft DirectX, for example. Semelhante à criação de um pacote de aplicativo criptografado, também é possível criptografar o lote de aplicativo ao agrupá-lo.Similar to creating an encrypted app package, you can also encrypt the app bundle while bundling it. Para criptografar o lote de aplicativo, use a opção /ep e especifique se está usando um arquivo de chave (/kf) ou a tecla de teste global (/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). Para obter mais informações sobre como criar um lote criptografado, consulte Criptografar ou descriptografar um pacote ou um lote.For more information on creating an encrypted bundle, see Encrypt or decrypt a package or bundle.

Opções específicas ao comando bundle:Options specific to the bundle command:

OpçãoOption DescriçãoDescription
/bv/bv Especifica o número de versão do lote.Specifies the version number of the bundle. O número de versão deve estar em quatro partes separadas por pontos no formato: <Principal>.<Secundário>.<Compilação>.<Revisão>.The version number must be in four parts separated by periods in the form: <Major>.<Minor>.<Build>.<Revision>.
/f/f Especifica o arquivo de mapeamento.Specifies the mapping file.

Observe que, se a versão do lote não for especificada ou se estiver definida como "0.0.0.0", o lote será criado com a data e a hora atuais.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.

Os exemplos de uso a seguir mostram algumas opções de sintaxe possíveis para o comando 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

O seguinte bloco contém exemplos do comando 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

Extrair arquivos de um pacote ou um loteExtract files from a package or bundle

Além de empacotar e agrupar apps, a MakeAppx.exe também pode desempacotar ou desagrupar pacotes existentes.In addition to packaging and bundling apps, MakeAppx.exe can also unpack or unbundle existing packages. Você deve fornecer o diretório de conteúdo como um destino para os arquivos extraídos.You must provide the content directory as a destination for the extracted files. Se você estiver tentando extrair arquivos de um pacote ou um lote criptografado, poderá descriptografar e extrair os arquivos ao mesmo tempo usando a opção /ep e especificando se ele deve ser descriptografado com um arquivo de chave (/kf) ou a chave de teste global (/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). Para obter mais informações sobre como descriptografar um pacote ou um lote, consulte Criptografar ou descriptografar um pacote ou um lote.For more information on decrypting a package or bundle, see Encrypt or decrypt a package or bundle.

Opções específicas aos comandos unpack e unbundle:Options specific to unpack and unbundle commands:

OpçãoOption DescriçãoDescription
/nd/nd Não realiza a descriptografia ao descompactar ou desagrupar o pacote/lote.Does not perform decryption when unpacking or unbundling the package/bundle.
/pfn/pfn Desempacota/desagrupa todos os arquivos em um subdiretório no caminho de saída especificado, nomeado de acordo com o nome completo do pacote ou loteUnpacks/unbundles all files to a subdirectory under the specified output path, named after the package or bundle full name

Os exemplos de uso a seguir mostram algumas opções de sintaxe possíveis para os comandos unpack e 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

O seguinte bloco contém exemplos de uso dos comandos unpack e 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

Criptografar ou descriptografar um pacote ou um loteEncrypt or decrypt a package or bundle

A ferramenta MakeAppx.exe também pode criptografar ou descriptografar um pacote ou um lote existente.The MakeAppx.exe tool can also encrypt or decrypt an existing package or bundle. Você deve simplesmente informar o nome do pacote, o nome do pacote de saída e se a criptografia ou descriptografia deve usar um arquivo de chave (/kf) ou a chave de teste global (/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).

A criptografia e a descriptografia não estão disponíveis com o Assistente de empacotamento do Visual Studio.Encryption and decryption are not available through the Visual Studio packaging wizard.

Opções específicas aos comandos encrypt e decrypt:Options specific to encrypt and decrypt commands:

OpçãoOption DescriçãoDescription
/ep/ep Especifica um pacote ou lote de aplicativo criptografado.Specifies an encrypted app package or bundle.

Os exemplos de uso a seguir mostram algumas opções de sintaxe possíveis para os comandos encrypt e 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

O seguinte bloco contém exemplos de uso dos comandos encrypt e 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

Arquivos de chaveKey files

Os arquivos de chave devem iniciar com uma linha contendo a cadeia de caracteres "[Keys]" seguida por linhas que descrevem as chaves com as quais criptografar cada pacote.Key files must begin with a line containing the string "[Keys]" followed by lines describing the keys to encrypt each package with. Cada chave é representada por um par de cadeias de caracteres entre aspas, separadas por espaços ou tabulações.Each key is represented by a pair of strings in quotation marks, separated by either spaces or tabs. A primeira cadeia de caracteres representa a ID da chave de 32 bytes codificada em base64, e a segunda representa a chave de criptografia de 32 bytes codificada em base64.The first string represents the base64 encoded 32-byte key ID and the second represents the base64 encoded 32-byte encryption key. Um arquivo de chave deve ser um arquivo de texto simples.A key file should be a simple text file.

Exemplo de um arquivo de chave:Example of a key file:

[Keys]
"OWVwSzliRGY1VWt1ODk4N1Q4R2Vqc04zMzIzNnlUREU="    "MjNFTlFhZGRGZEY2YnVxMTBocjd6THdOdk9pZkpvelc="

Arquivos de mapeamentoMapping files

Os arquivos de mapeamento devem iniciar com uma linha contendo a cadeia de caracteres "[Files]" seguida por linhas que descrevem os arquivos a serem adicionados ao pacote.Mapping files must begin with a line containing the string "[Files]" followed by lines describing the files to add to the package. Cada arquivo é descrito por um par de caminhos entre aspas, separados por espaços ou tabulações.Each file is described by a pair of paths in quotation marks, separated by either spaces or tabs. Cada arquivo representa sua origem (no disco) e seu destino (no pacote).Each file represents its source (on disk) and destination (in the package). Um arquivo de mapeamento deve ser um arquivo de texto simples.A mapping file should be a simple text file.

Exemplo de um arquivo de mapeamento (sem a opção /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"

Ao usar um arquivo de mapeamento, você poderá escolher se deseja usar a opção /m.When using a mapping file, you can choose whether you would like to use the /m option. A opção /m permite que o usuário especifique os metadados do recurso no arquivo de mapeamento a serem incluídos no manifesto gerado.The /m option allows the user to specify the resource metadata in the mapping file to be included in the generated manifest. Se você usar a opção /m, o arquivo de mapeamento deverá conter uma seção que inicia com a linha "[ResourceMetadata]", seguida por linhas que especificam "ResourceDimensions" e "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." É possível que um pacote de aplicativo contenha várias "ResourceDimensions", mas só pode haver uma "ResourceId".It is possible for an app package to contain multiple "ResourceDimensions", but there can only ever be one "ResourceId."

Exemplo de um arquivo de mapeamento (com a opção /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"

Validação semântica realizada por MakeAppx.exeSemantic validation performed by MakeAppx.exe

A MakeAppx.exe realiza a validação semântica limitada, que é projetada para capturar os erros mais comuns de implantação e ajudar a garantir que o pacote de aplicativo seja válido.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. Consulte a opção /nv se desejar ignorar a validação ao usar a MakeAppx.exe.See the /nv option if you want to skip validation while using MakeAppx.exe.

Essa validação garante que:This validation ensures that:

  • Todos os arquivos referenciados no manifesto do pacote sejam incluídos no pacote de aplicativo.All files referenced in the package manifest are included in the app package.
  • Um app não tenha duas chaves idênticas.An application does not have two identical keys.
  • Um app não seja registrado para um protocolo proibido desta lista: 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.

Essa não é uma validação semântica completa, já que é projetada apenas para capturar erros comuns.This is not a complete semantic validation as it is only designed to catch common errors. Os pacotes compilados pela MakeAppx.exe não são garantidos como instaláveis.Packages built by MakeAppx.exe are not guaranteed to be installable.