Conheça o instalador

Este artigo lista as coisas que você precisa saber antes de converter o instalador existente em um MSIX. Talvez você não precise fazer muito para preparar seu aplicativo para o processo de empacotamento, mas se algum dos itens abaixo se aplicar ao seu aplicativo, você precisará abordá-lo antes de empacotar.

  • Seu aplicativo tem um serviço. Oferecemos suporte à conversão de aplicativos com serviços, mas é importante ter em mente as limitações para converter um serviço. Após a conversão, você precisará da elevação admin para instalar o MSIX que contém um serviço. Você pode converter um aplicativo com serviços a partir da versão 1.2019.1220.0 da MSIX Packaging Tool e pode implantar o MSIX com serviços a partir da versão de primavera de 2020 do Windows 10.

  • O instalador requer uma reinicialização. Se o instalador exigir uma reinicialização, isso será suportado na MSIX Packaging Tool a partir da versão 1.2019.701.0. Se o instalador retornar um código de saída incomum para indicar que precisa ser reiniciado, você deverá adicioná-lo à seção de códigos de saída de reinicialização das configurações da Ferramenta de Empacotamento MSIX.

  • Seu aplicativo .NET precisa de uma versão do .NET Framework anterior à 4.6.2. Se estiver empacotando um aplicativo .NET, recomendamos que seu aplicativo dê preferência ao .NET Framework 4.6.2 ou posterior. A capacidade de instalar e executar aplicativos da área de trabalho empacotados apareceu pela primeira vez no Windows 10, versão 1607 (também chamada de Atualização de Aniversário) e essa versão do sistema operacional inclui o .NET Framework 4.6.2 por padrão. Versões posteriores do sistema operacional incluem versões posteriores do .NET Framework. Para obter uma lista completa das versões do .NET incluídas nas versões posteriores do Windows 10, confira este artigo.

    Espera-se que a preferência por versões do .NET Framework anteriores à 4.6.2 funcione na maioria dos casos. No entanto, caso dê preferência a uma versão anterior à 4.6.2, deverá testá-la completamente no aplicativo de área de trabalho empacotado antes da distribuição para os usuários.

    • 4.0 - 4.6.1: espera-se que esses aplicativos que visam essas versões do .NET Framework funcionem sem problemas na versão 4.6.2 ou posteriores. Portanto, esses aplicativos devem ser instalados e executados sem alterações no Windows 10, versão 1607 ou posteriores com a versão do .NET Framework incluída no sistema operacional.

    • 2.0 e 3.5: em nossos testes, os aplicativos de área de trabalho empacotados que visam essas versões do .NET Framework geralmente funcionam, mas podem apresentar problemas de desempenho em alguns cenários. Para que esses aplicativos empacotados sejam instalados e funcionem, o recurso .NET Framework 3.5 precisa estar instalado no computador de destino (esse recurso também inclui o .NET Framework 2.0 e 3.0). Você também deve testar esses aplicativos totalmente depois de empacotá-los.

  • Seu aplicativo requer um driver. MSIX não oferece suporte a drivers.

  • O aplicativo grava na pasta AppData ou no Registro com a intenção de compartilhar os dados com outro aplicativo. Após a conversão, a pasta AppData é redirecionada para o armazenamento de dados de aplicativo local, que é um repositório particular para cada aplicativo.

    Todas as entradas que o aplicativo grava para o hive de Registro HKEY_LOCAL_MACHINE são redirecionadas para um arquivo binário isolado e as possíveis entradas que o aplicativo grava no hive de Registro HKEY_CURRENT_USER são colocadas em um local privado por usuário e por aplicativo. Para obter mais detalhes sobre o redirecionamento de arquivo e Registro, consulte Bastidores da Ponte de Desktop.

  • O aplicativo grava no diretório de instalação do aplicativo. Por exemplo, o aplicativo grava para um arquivo de log que você coloca no mesmo diretório do exe. Isso não é suportado porque a pasta está protegida. Recomendamos escrever em outro local, como o repositório de dados do aplicativo local. Adicionamos uma capacidade que permite isso em 1809 e posteriores.

  • Seu aplicativo usa o diretório de trabalho atual. No tempo de execução, o aplicativo da área de trabalho empacotado não terá o mesmo diretório de trabalho especificado anteriormente no atalho .LNK da área de trabalho. Você precisa alterar o CWD no tempo de execução caso ter o diretório correto for importante para que o aplicativo funcione corretamente.

  • Seu aplicativo instala e carrega os assemblies da pasta lado a lado do Windows. Por exemplo, seu aplicativo usa bibliotecas de tempo de execução C VC8 ou VC9 e está vinculando-as dinamicamente da pasta lado a lado do Windows, o que significa que seu código está usando os arquivos DLL comuns de uma pasta compartilhada, como C:\Windows\WinSxS. Isso não tem suporte. Você precisará vinculá-los estaticamente, vinculando os arquivos de biblioteca redistribuíveis diretamente ao seu código.

Outras considerações

  • Reempacotando o instalador na arquitetura adequada. Se o instalador se destina a ser instalado em uma máquina x86. Certifique-se de reempacotar seu instalador em uma máquina x86. Isso é aplicável para o instalador destinado a máquinas x64.

    Observação

    Caso o aplicativo precise ser gravado no diretório de instalação ou usar o diretório de trabalho atual, também será possível considerar adicionar uma correção de tempo de execução usando a Estrutura de Suporte do Pacote do pacote. Para obter mais detalhes, confira este artigo.