Geração de componentes do pacote MSIX
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).
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.
Primeiro, prepare para empacotar
Caso ainda não tenha feito isso, revise esta seção sobre o que você precisa saber antes de empacotar o aplicativo.
Criar um manifesto do pacote
Crie um arquivo, chame-o de appxmanifest.xml, e, em seguida, adicione esse XML a ele.
É um modelo básico que contém os elementos e atributos de que seu pacote precisa. Vamos adicionar valores a eles na próxima seção.
<?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:uap10="http://schemas.microsoft.com/appx/manifest/uap/windows10/10"
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=""
uap10:RuntimeBehavior="packagedClassicApp"
uap10:TrustLevel="mediumIL">
<uap:VisualElements DisplayName="" Description="" Square150x150Logo=""
Square44x44Logo="" BackgroundColor="" />
</Application>
</Applications>
</Package>
Observação
Se o seu pacote for instalado em sistemas anteriores ao Windows 10, versão 2004 (10.0; Build 19041), use o atributo EntryPoint
em vez de uap10:RuntimeBehavior
e uap10:TrustLevel
. Para obter mais detalhes e exemplos, consulte uap10 foi introduzido no Windows 10, versão 2004 (10.0; Build 19041).
Preencha os elementos em nível de pacote do arquivo
Preencha este modelo com informações que descrevem o pacote.
Informações de identidade
Este é um exemplo do elemento Identity com texto de espaço reservado para os atributos. Você pode definir o atributo ProcessorArchitecture
como x64
, x86
, arm
(ou seja, ARM de 32 bits), arm64
ou neutral
<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. 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.
Propriedades
O elemento Properties tem 3 elementos filhos necessários. Este é um exemplo do nó Propriedades com texto de espaço reservado para os elementos. O DisplayName é o nome do aplicativo que você reserva na Microsoft Store para aplicativos que são carregados na Microsoft Store.
<Properties>
<DisplayName>MyApp</DisplayName>
<PublisherDisplayName>MyCompany</PublisherDisplayName>
<Logo>images\icon.png</Logo>
</Properties>
Recursos
Este é um exemplo do nó Recursos.
<Resources>
<Resource Language="en-us" />
</Resources>
Dependências
Nos aplicativos da área de trabalho para os quais você cria um pacote, sempre defina o atributo Name
como Windows.Desktop
.
<Dependencies>
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.14316.0" MaxVersionTested="10.0.15063.0" />
</Dependencies>
Funcionalidades
Para um pacote que contém um ou mais aplicativos de confiança total, você precisará declarar o recurso restrito runFullTrust
, conforme mostrado abaixo. Para obter detalhes completos e uma definição de um aplicativo de confiança total, procure Nível de permissão de confiança total em Declarações de capacidade de aplicativos).
<Capabilities>
<rescap:Capability Name="runFullTrust"/>
</Capabilities>
Preencha os elementos no nível do aplicativo
Preencha este modelo com informações que descrevem o aplicativo.
Elemento Application
Para aplicativos de área de trabalho para os quais você cria um pacote, configure o elemento Application da seguinte forma:
<Applications>
<Application Id="MyApp" Executable="MyApp.exe"
uap10:RuntimeBehavior="packagedClassicApp"
uap10:TrustLevel="mediumIL">
</Application>
</Applications>
Observação
Se o seu pacote for instalado em sistemas anteriores ao Windows 10, versão 2004 (10.0; Build 19041), use o atributo EntryPoint
em vez de uap10:RuntimeBehavior
e uap10:TrustLevel
. Para obter mais detalhes e exemplos, consulte uap10 foi introduzido no Windows 10, versão 2004 (10.0; Build 19041).
Elementos visuais
Este é um exemplo do nó VisualElements.
<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
Ativos baseados em destino são para ícones e blocos que aparecem na barra de tarefas do Windows, na exibição de tarefas, em ALT+TAB, no snap-assist e no canto inferior direito dos blocos Iniciar. Você pode ler mais sobre isso aqui.
Obtenha as imagens 44x44 corretas e copie-as para a pasta que contém as imagens (ou seja, Ativos).
Para cada imagem 44x44, crie uma cópia na mesma pasta e acrescente .targetsize-44_altform-unplated ao nome do arquivo. Você deve ter duas cópias de cada ícone, cada uma nomeada de uma maneira específica. Por exemplo, depois de concluir o processo, sua pasta de ativos poderá conter MYAPP_44x44.png e 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.No arquivo de manifesto, defina o
BackgroundColor
para cada ícone que você está tornando transparente.Continue até a próxima subseção para gerar um novo arquivo de índice de recurso do pacote.
Gerar um arquivo PRI (índice de recurso do pacote) usando 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.
Com base no caminho da instalação do SDK, é aqui que o MakePri.exe fica localizado no computador com PC Windows:
- x86: C:\Arquivos de Programas (x86)\Windows Kits\10\bin<número do build>\x86\makepri.exe
- x64: C:\Arquivos de Programas (x86)\Windows Kits\10\bin<número do build>\x64\makepri.exe
Não existe uma versão para ARM dessa ferramenta.
Abra um Prompt de Comando ou uma janela do PowerShell.
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
.Crie os arquivos resources.pri usando o comando
<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
.Empacote o aplicativo usando as instruções da próxima etapa.
Teste o aplicativo antes de empacotar
Você pode implantar o aplicativo não empacotado e testá-lo antes de empacotar ou assinar. Para isso, execute o cmdlet abaixo de uma janela do PowerShell. Assegure-se de passar o arquivo de manifesto do aplicativo localizado na raiz do diretório com todos os outros componentes de pacote:
Add-AppxPackage –Register AppxManifest.xml
Depois de fazer isso, o aplicativo deverá ser implantado no sistema e você poderá testá-lo para assegurar que tudo esteja funcionando antes de empacotar. 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.
Empacote os componentes em um MSIX
A próxima etapa é usar o MakeAppx.exe para gerar um pacote MSIX para o aplicativo. O Makeappx.exe está incluído com o SDK do Windows e, caso você tenha o Visual Studio instalado, ele poderá ser acessado com facilidade pelo Prompt de Comando do Desenvolvedor para Visual Studio.
Consulte Criar um pacote ou grupo MSIX com a ferramenta MakeAppx.exe
Observação
Um aplicativo empacotado sempre é executado como um usuário interativo e qualquer unidade na qual você instale o aplicativo empacotado deve estar formatada em NTFS.