Geração de componentes do pacote MSIXGenerating MSIX package components

Este artigo mostra como gerar componentes do pacote MSIX para empacotar o aplicativo usando ferramentas de linha de comando (sem usar o Visual Studio ou a Ferramenta de Empacotamento MSIX).This article shows you how to generate MSIX package components for packaging your application using command line tools (without using Visual Studio or the MSIX Packaging Tool).

Para empacotar o aplicativo manualmente, é necessário criar um arquivo de manifesto do pacote, adicionar os componentes do pacote e executar a ferramenta de linha de comando MakeAppx.exe para gerar um pacote MSIX.To manually package your app, you need to create a package manifest file, add your package components and then run the MakeAppx.exe command line tool to generate an MSIX package.

Primeiro, prepare para empacotarFirst, prepare to package

Caso ainda não tenha feito isso, revise esta seção sobre o que você precisa saber antes de empacotar o aplicativo.If you haven't yet, review this section on what you need to know before packaging your application.

Crie um manifesto do pacoteCreate a package manifest

Crie um arquivo, chame-o de appxmanifest.xml, e, em seguida, adicione esse XML a ele.Create a file, name it appxmanifest.xml, and then add this XML to it.

É um modelo básico que contém os elementos e atributos de que seu pacote precisa.It's a basic template that contains the elements and attributes that your package needs. Vamos adicionar valores a eles na próxima seção.We'll add values to these in the next section.

<?xml version="1.0" encoding="utf-8"?>
<Package
    xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
  xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
  xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities">
  <Identity Name="" Version="" Publisher="" ProcessorArchitecture="" />
    <Properties>
       <DisplayName></DisplayName>
       <PublisherDisplayName></PublisherDisplayName>
             <Description></Description>
      <Logo></Logo>
    </Properties>
    <Resources>
      <Resource Language="" />
    </Resources>
      <Dependencies>
      <TargetDeviceFamily Name="Windows.Desktop" MinVersion="" MaxVersionTested="" />
      </Dependencies>
      <Capabilities>
        <rescap:Capability Name="runFullTrust"/>
      </Capabilities>
    <Applications>
      <Application Id="" Executable="" EntryPoint="Windows.FullTrustApplication">
        <uap:VisualElements DisplayName="" Description=""   Square150x150Logo=""
                   Square44x44Logo=""   BackgroundColor="" />
      </Application>
     </Applications>
  </Package>

Preencha os elementos em nível de pacote do arquivoFill in the package-level elements of your file

Preencha este modelo com informações que descrevem o pacote.Fill in this template with information that describes your package.

Informações de identidadeIdentity information

Este é um exemplo do elemento Identity com texto de espaço reservado para os atributos.Here's an example Identity element with placeholder text for the attributes. Você pode definir o atributo ProcessorArchitecture como x64 ou x86.You can set the ProcessorArchitecture attribute to x64 or x86.

<Identity Name="MyCompany.MySuite.MyApp"
          Version="1.0.0.0"
          Publisher="CN=MyCompany, O=MyCompany, L=MyCity, S=MyState, C=MyCountry"
                ProcessorArchitecture="x64">

Observação

Se tiver reservado o nome do aplicativo na Microsoft Store, será possível obter o Nome e o Editor usando o Partner Center.If you've reserved your application name in the Microsoft Store, you can obtain the Name and Publisher by using Partner Center. Se pretende fazer o sideload do aplicativo para outros sistemas, é possível fornecer seus próprios nomes para eles, desde que o nome de editor que você escolher corresponda ao nome no certificado usado para assinar o aplicativo.If you plan to sideload your application onto other systems, you can provide your own names for these as long as the publisher name that you choose matches the name on the certificate you use to sign your app.

PropriedadesProperties

O elemento Properties tem 3 elementos filhos necessários.The Properties element has 3 required child elements. Este é um exemplo do nó Propriedades com texto de espaço reservado para os elementos.Here is an example Properties node with placeholder text for the elements. O DisplayName é o nome do aplicativo que você reserva na Microsoft Store para aplicativos que são carregados na Microsoft Store.The DisplayName is the name of your application that you reserve in the Store, for apps which are uploaded to the Store.

<Properties>
  <DisplayName>MyApp</DisplayName>
  <PublisherDisplayName>MyCompany</PublisherDisplayName>
  <Logo>images\icon.png</Logo>
</Properties>

RecursosResources

Este é um exemplo do nó Recursos.Here is an example Resources node.

<Resources>
  <Resource Language="en-us" />
</Resources>

DependênciasDependencies

Nos aplicativos da área de trabalho para os quais você cria um pacote, sempre defina o atributo Name como Windows.Desktop.For desktop apps that you create a package for, always set the Name attribute to Windows.Desktop.

<Dependencies>
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.14316.0" MaxVersionTested="10.0.15063.0" />
</Dependencies>

CapacidadesCapabilities

Nos aplicativos da área de trabalho para os quais você cria um pacote, será preciso adicionar o recurso runFullTrust.For desktop apps that you create a package for, you'll have to add the runFullTrust capability.

<Capabilities>
  <rescap:Capability Name="runFullTrust"/>
</Capabilities>

Preencha os elementos no nível do aplicativoFill in the application-level elements

Preencha este modelo com informações que descrevem o aplicativo.Fill in this template with information that describes your app.

Elemento ApplicationApplication element

Nos aplicativos de área de trabalho para os quais você cria um pacote, o atributo EntryPoint do elemento Application é sempre Windows.FullTrustApplication.For desktop apps that you create a package for, the EntryPoint attribute of the Application element is always Windows.FullTrustApplication.

<Applications>
  <Application Id="MyApp"     
        Executable="MyApp.exe" EntryPoint="Windows.FullTrustApplication">
   </Application>
</Applications>

Elementos visuaisVisual elements

Este é um exemplo do nó VisualElements.Here is an example VisualElements node.

<uap:VisualElements
    BackgroundColor="#464646"
    DisplayName="My App"
    Square150x150Logo="images\icon.png"
    Square44x44Logo="images\small_icon.png"
    Description="A useful description" />

(Opcional) Adicione ativos não incluídos no destino(Optional) Add Target-based unplated assets

Os ativos baseados no destino são para ícones e blocos que aparecem na barra de tarefas do Windows, na visão de tarefas, em ALT+TAB, no Assistente de Ajuste e no canto inferior direito dos blocos em Iniciar.Target-based assets are for icons and tiles that appear on the Windows taskbar, task view, ALT+TAB, snap-assist, and the lower-right corner of Start tiles. Você pode ler mais sobre isso aqui.You can read more about them here.

  1. Obtenha as imagens 44x44 corretas e copie-as para a pasta que contém as imagens (ou seja, Ativos).Obtain the correct 44x44 images and then copy them into the folder that contains your images (i.e., Assets).

  2. Para cada imagem de 44 x 44, crie uma cópia na mesma pasta e acrescente .targetsize-44_altform-unplated ao nome do arquivo.For each 44x44 image, create a copy in the same folder and append .targetsize-44_altform-unplated to the file name. Você deve ter duas cópias de cada ícone, cada uma nomeada de uma maneira específica.You should have two copies of each icon, each named in a specific way. Por exemplo, depois de concluir o processo, sua pasta de ativos poderá conter MYAPP_44x44.png e MYAPP_44x44.targetsize-44_altform-unplated.png.For example, after completing the process, your assets folder might contain MYAPP_44x44.png and MYAPP_44x44.targetsize-44_altform-unplated.png.

    Observação

    Neste exemplo, o ícone chamado MYAPP_44x44.png é o ícone ao qual você vai fazer referência no atributo Square44x44Logo do logotipo do pacote MSIX.In this example, the icon named MYAPP_44x44.png is the icon that you'll reference in the Square44x44Logo logo attribute of your MSIX package.

  3. No arquivo de manifesto, defina o BackgroundColor para cada ícone que está tornando transparente.In the manifest file, set the BackgroundColor for every icon you are making transparent.

  4. Continue até a próxima subseção para gerar um novo arquivo de índice de recurso do pacote.Continue to the next subsection to generate a new Package Resource Index file.

Gerar um arquivo PRI (índice de recurso do pacote) usando MakePriGenerate a Package Resource Index (PRI) file using MakePri

Se você criar ativos com base no destino como descrito na seção acima, ou se modificar qualquer um dos ativos visuais do aplicativo depois de criar o pacote, será necessário gerar um novo arquivo PRI.If you create target-based assets as described in the section above, or you modify any of the visual assets of your application after you've created the package, you'll have to generate a new PRI file.

Com base no caminho da instalação do SDK, é aqui que o MakePri.exe fica localizado no computador com Windows 10:Based on your installation path of the SDK, this is where MakePri.exe is on your Windows 10 PC:

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

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

  1. Abra um Prompt de Comando ou uma janela do PowerShell.Open a Command Prompt or PowerShell window.

  2. Altere o diretório para a pasta raiz do pacote e crie um arquivo priconfig.xml executando o comando <path>\makepri.exe createconfig /cf priconfig.xml /dq en-US.Change directory to the package's root folder, and then create a priconfig.xml file by running the command <path>\makepri.exe createconfig /cf priconfig.xml /dq en-US.

  3. Crie os arquivos resources.pri usando o comando <path>\makepri.exe new /pr <PHYSICAL_PATH_TO_FOLDER> /cf <PHYSICAL_PATH_TO_FOLDER>\priconfig.xml.Create the resources.pri file(s) by using the command <path>\makepri.exe new /pr <PHYSICAL_PATH_TO_FOLDER> /cf <PHYSICAL_PATH_TO_FOLDER>\priconfig.xml.

    Por exemplo, o comando do aplicativo pode ter essa aparência: <path>\makepri.exe new /pr c:\MYAPP /cf c:\MYAPP\priconfig.xml.For example, the command for your application might look like this: <path>\makepri.exe new /pr c:\MYAPP /cf c:\MYAPP\priconfig.xml.

  4. Empacote o aplicativo usando as instruções da próxima etapa.Package your application by using the instructions in the next step.

Teste o aplicativo antes de empacotarTest your application before packaging

Você pode implantar o aplicativo não empacotado e testá-lo antes de empacotar ou assinar.You can deploy your non-packaged application and test it before packaging or signing. Para isso, execute o cmdlet abaixo de uma janela do PowerShell.To do so, run the cmdlet below from a PowerShell window. Assegure-se de passar o arquivo de manifesto do aplicativo localizado na raiz do diretório com todos os outros componentes de pacote:Make sure to pass in your application's manifest file located in the root of your package directory with all your other package components:

Add-AppxPackage –Register AppxManifest.xml

Depois de fazer isso,Once this is done. o aplicativo deverá ser implantado no sistema e você poderá testá-lo para assegurar que tudo esteja funcionando antes de empacotar.Your app should be deployed on the system and you can test it to make sure everything works before packaging. Para atualizar os arquivos .exe ou .dll do aplicativo, substitua os arquivos existentes no pacote pelos novos, aumente o número da versão no AppxManifest.xml e execute o comando acima novamente.To update your app's .exe or .dll files, replace the existing files in your package with the new ones, increase the version number in AppxManifest.xml, and then run the above command again.

Empacote os componentes em um MSIXPackage your components into an MSIX

A próxima etapa é usar o MakeAppx.exe para gerar um pacote MSIX para o aplicativo.The next step is to use MakeAppx.exe to generate an MSIX package for your application. O Makeappx.exe está incluído com o SDK do Windows 10 e, caso você tenha o Visual Studio instalado, ele poderá ser acessado com facilidade pelo Prompt de Comando do Desenvolvedor para Visual Studio.Makeappx.exe is included with the Windows 10 SDK, and if you have Visual Studio installed, it can be easily accessed through the Developer Command Prompt for Visual Studio.

Consulte Criar um pacote ou grupo MSIX com a ferramenta MakeAppx.exeSee Create an MSIX package or bundle with the MakeAppx.exe tool

Observação

Um aplicativo empacotado sempre é executado como um usuário interativo e qualquer unidade na qual você instale seu aplicativo empacotado deve estar formatada em NTFS.A packaged application always runs as an interactive user, and any drive that you install your packaged application on to must be formatted to NTFS format.