Criar um pacote MSIX com o MSIX Core com base no código-fonte

O MSIX Core leva a implantação do MSIX para algumas versões anteriores do Windows. Você pode aproveitar o instalador do MSIX Core para criar um aplicativo usando o ClickOnce. Isso permitirá que os usuários baixem uma instalação.exe e instalem o aplicativo do MSIX através do instalador do MSIX Core.

Hospedar o aplicativo em um servidor Web

Para preparar o aplicativo para a inicialização com o instalador do MSIX Core, é necessário hospedar o pacote do aplicativo em um servidor Web. Esta seção detalha como configurar um aplicativo Web no Azure,, no IIS (Serviços de Informações da Internet) e na AWS (Amazon Web Services).

Azure

Para usar o Azure, você deve ter uma assinatura do Azure. Para obter uma, consulte a página Conta do Azure.

Criar um aplicativo Web do Azure

Para começar, vá para a página do portal do Azure e siga estas etapas:

  1. Clique em Criar um Recurso.
  2. Clique em Web e selecione Aplicativo Web.
  3. Em Detalhes da instância, crie um nome do aplicativo exclusivo e selecione as configurações apropriadas para seu aplicativo. Por exemplo, será necessário escolher entre Código ou Contêiner do Docker e a Pilha de Runtime. Caso contrário, mantenha os padrões para todo o resto.
  4. Clique em Criar e conclua o assistente.

Hospede o pacote do aplicativo e a página da Web

  1. Após criar o aplicativo Web, selecione o aplicativo.
  2. Em Ferramentas de Desenvolvimento, clique em Editor do Serviço de Aplicativo.
  3. No editor, há um arquivo hostingstart.html padrão. Clique com o botão direito do mouse no espaço vazio do Explorador de Arquivos e selecione Carregar arquivos para começar a carregar os pacotes do aplicativo.
  4. Clique com o botão direito do mouse no espaço vazio do painel Explorador de Arquivos novamente e selecione Novos arquivos para criar um novo arquivo. Dê ao arquivo o nome que deseja que sua página HTML padrão seja.

Configurar o aplicativo Web para tipos MIME do pacote do aplicativo

Adicione um novo arquivo chamado Web.config ao aplicativo Web. Abra o arquivo Web.config e adicione o seguinte XML no elemento.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <!--This is to allow the web server to serve resources with the appropriate file extensions-->
    <staticContent>
      <mimeMap fileExtension=".appx" mimeType="application/appx" />
      <mimeMap fileExtension=".msix" mimeType="application/msix" />
    </staticContent>
  </system.webServer>
</configuration>

Serviços de Informações da Internet (IIS)

O IIS é um recurso opcional do Windows. Para instalar o IIS:

  1. Clique em Iniciar e localize Ativar ou desativar recursos do Windows.
  2. Selecione Serviços de Informações da Internet.
  3. Certifique-se também de instalar o ASP.NET 4.5 ou superior. Na caixa de diálogo Recursos do Windows, expanda Serviços de Informações da Internet -> deServiços da World Wide Web ->Recursos de desenvolvimento de aplicativo e selecione uma versão do ASP.NET igual ou superior ao ASP.NET4.5..
  4. Clique em OK para iniciar a instalação.

São necessários o Visual Studio 2017 (ou uma versão posterior) e ferramentas de desenvolvimento Web. Se você já tiver o Visual Studio 2017 ou uma versão posterior instalada, verifique se as cargas de trabalho de desenvolvimento ASP.NET e Web estão instaladas. Caso contrário, instale o Visual Studio a partir daqui.

Compilar um aplicativo Web

Inicie o Visual Studio como administrador e crie um novo projeto de Aplicativo Web do Visual C# com um modelo de projeto vazio.

Configure o IIS com o aplicativo Web

  1. No Gerenciador de soluções, clique com o botão direito do mouse no projeto raiz e selecione Propriedades.
  2. Em propriedades, selecione a guia Web.
  3. Na seção Servidores, escolha IIS Local no menu suspenso e clique em Criar diretório virtual.

Adicionar o pacote do aplicativo ao aplicativo Web

Adicionar o pacote do aplicativo que deseja distribuir ao aplicativo Web:

  1. Em Gerenciador de soluções, clique com o botão direito do mouse no nó do projeto.
  2. Selecione Adicionar ->Nova pasta e nomeie os pacotes da pasta.
  3. Para adicionar pacotes do aplicativo à pasta, clique com o botão direito do mouse na pasta de pacotes e selecione Adicionar ->Item exitsente. Navegue até a localização do pacote do aplicativo.

Criar uma página da Web

Crie uma página HTML ou qualquer outro aplicativo Web de acordo com os requisitos das suas necessidades. Adicione o link do seu novo setup.exe.

Configurar o aplicativo Web para tipos MIME do pacote do aplicativo

Abra o arquivo Web.config no gerenciador de soluções e adicione o seguinte XML no elemento <configuração>.

<system.webServer>
  <!--This is to allow the web server to serve resources with the appropriate file extensions-->
  <staticContent>
    <mimeMap fileExtension=".appx" mimeType="application/appx" />
    <mimeMap fileExtension=".msix" mimeType="application/msix" />
  </staticContent>
</system.webServer>

AWS (Amazon Web Services)

Para usar essa opção, você deve ter uma subscrição da AWS. Para obter mais informações, consulte Detalhes de conta da AWS.

Criar um bucket do Amazon S3 e fazer upload de pacotes MSIX e páginas da Web

O Amazon Simple Storage Service (S3) é uma oferta da AWS para coleta, armazenamento e análise de dados. Os buckets do S3 são uma maneira conveniente de hospedar pacotes de aplicativos e páginas da Web do Windows 10 para distribuição.

  1. Fazer logon na AWS. Em Serviços, localize S3.
  2. Selecione Criar bucket e insira um Nome de bucket para seu site. Siga os prompts de diálogo para definir propriedades e permissões. Para garantir que seu aplicativo do Windows 10 possa ser distribuído por meio de seu site, habilite as permissões de Leitura e Gravação para o bucket e selecione Conceder acesso de leitura pública a este bucket. Clique em Criar bucket para concluir esta etapa.
  3. Quando terminar, carregue seus pacotes MSIX e páginas da Web no bucket do S3.

Configurar o aplicativo Web para tipos MIME do pacote do aplicativo

Use uma interface de serviço Web, como o navegador S3, para adicionar um novo Cabeçalho HTTP padrão.

  1. Navegue até Ferramentas e selecione Cabeçalhos HTTP padrão.
  2. Na caixa de diálogo Cabeçalhos HTTP Padrão, clique em Adicionar.
  3. Na caixa de diálogo Adicionar novos cabeçalhos HTTP padrão, especifique o nome do bucket, nome do arquivo, nome do cabeçalho e valor do cabeçalho. Em seguida, clique em Adicionar novo cabeçalho.
    • Nome do bucket: msix-packages
    • Nome do arquivo: *.msix
    • Nome do cabeçalho: Content-Type
    • Valor do cabeçalho: application/msix

Observação

 A AWS tem algumas diretrizes rígidas devem ser seguidas. Por exemplo, os nomes de bucket precisam ser exclusivos e, portanto, se você usar o exemplo acima, necessitará alterar o nome do bucket.

Usar o instalador do MSIX Core para criar o aplicativo ClickOnce

Localize o arquivo setup.exe. do ClickOnce. Isso diz respeito à clonagem do projeto do Git. Compile-o e publique-o por meio do projeto Visual Studio.

Execute o comando URL para criar um novo setup.exe

Verifique se seguiu as instruções para clonar, compilar e publicar a solução MSIX Core no Visual Studio. Para referência, o projeto do GitHub pode ser encontrado aqui

Navegue até o diretório onde publicou o arquivo setup.exe e execute este comando:

.\setup.exe -url=<location of your msix in the webservice>

Por exemplo

.\setup.exe -url="https://appinstallerdemo.azurewebsites.net/MSIXCore/msixmgrWrapper.application?https://appinstallerdemo.azurewebsites.net/MSIXCore/notepadplus.msix#"

Assinar o aplicativo

Como a etapa anterior criou um novo setup.exe, será necessário assinar o aplicativo novamente para verificar se você um fornecedor confiável do aplicativo e estabelecer a integridade do aplicativo. Você pode usar o SignTool e fornecer seu certificado.

Distribuir o aplicativo para seus usuários

Agora você pode apontar para o novo setup.exe com um link ou botão de download no site deles. O MSIX Core é direcionado a usuários no Windows 10, versão 1703 e anteriores. O Instalador de Aplicativo é o processo de instalação ideal de pacotes MSIX no Windows 1709 ou em uma versão posterior. Ele otimiza o espaço em disco no lado do consumidor e pode instalar aplicativos a partir de localizações HTTP diretamente. O MSIX Core detectará se um consumidor está no Windows 1709 ou em uma versão posterior e o redirecionará para o Instalador de Aplicativo.

No Microsoft Edge, ao chamar o método getHostEnvironmentValue(), o campo os-build no valor retornado especificará a versão do sistema operacional do usuário. Ali, você pode solicitar que o processo de instalação use o MSIX Core (para Windows 10, versão 1703 e anteriores) ou o Instalador de Aplicativo (para Windows 10, versão 1709 e posteriores).

Experiência do usuário

Os usuários baixam e executam o setup.exe a partir da página da Web do desenvolvedor.

  • Se o instalador do MSIX Core ainda não estiver instalado, quando o usuário executar o setup.exe verá o prompt ClickOnce e deverá clicar em Instalar para instalar o instalador do MSIX Core. O instalador é iniciado automaticamente e exibe a tela de instalação do pacote MSIX especificado na cadeia de caracteres de consulta do desenvolvedor para que os usuários instalem o aplicativo.
  • Caso o instalador do MSIX Core já esteja instalado quando o usuário executar o setup.exe, ele inicia automaticamente, mostrando a tela de instalação do pacote MSIX específico indicado na cadeia de caracteres de consulta do desenvolvedor para que os usuários instalem o aplicativo.