Distribuir um aplicativo do Windows 10 por um servidor de IIS

Este tutorial demonstra como configurar um servidor IIS, verificar se seu aplicativo Web pode hospedar pacotes de aplicativos e invocar e usar o Instalador de Aplicativos com eficiência.

O aplicativo do Instalador de aplicativo permite que desenvolvedores e profissionais do setor de TI distribuam aplicativos do Windows 10 hospedando-os em sua própria Rede de disponibilização de conteúdo (CDN. Isso é útil para empresas que não desejam ou precisam publicar seus aplicativos na Microsoft Store, mas ainda querem aproveitar a plataforma de empacotamento e implantação do Windows 10.

Instalação

Para prosseguir com êxito com este tutorial, você precisará do seguinte:

  1. Visual Studio 2017
  2. Ferramentas de desenvolvimento web e IIS
  3. Pacote de aplicativos do Windows 10 – O pacote do aplicativo que você distribuirá

Opcional: Projeto inicial no GitHub. Isso é útil se você não tiver pacotes de aplicativos para trabalhar, mas ainda gostaria de saber como usar esse recurso.

Etapa 1 – Instalar o IIS e ASP.NET

Os Serviços de Informações da Internet são um recurso do Windows que pode ser instalado por meio do menu Iniciar. Na pesquisa de menu Iniciar , ative ou desative os recursos do Windows.

Localize e selecione Os Serviços de Informações da Internet para instalar o IIS.

Observação

Você não precisa selecionar todas as caixas de seleção nos Serviços de Informações da Internet. Somente os selecionados quando você verifica se os Serviços de Informações da Internet são suficientes.

Você também precisará instalar ASP.NET 4.5 ou superior. Para instalá-lo, localize os Serviços de Informações da Internet –> World Wide Web Services –> Recursos de Desenvolvimento de Aplicativos. Selecione uma versão de ASP.NET maior ou igual a ASP.NET 4.5.

Screenshot of installing ASP.NET feature

Etapa 2 – Instalar o Visual Studio 2017 e ferramentas de desenvolvimento web

Instale o Visual Studio 2017 se você ainda não o instalou. Se você já tiver o Visual Studio 2017, verifique se as cargas de trabalho a seguir estão instaladas. Se as cargas de trabalho não estiverem presentes em sua instalação, siga usando o Instalador do Visual Studio (encontrado no menu Iniciar).

Durante a instalação, selecione ASP.NET e desenvolvimento web e quaisquer outras cargas de trabalho nas quais você esteja interessado.

Depois que a instalação for concluída, inicie o Visual Studio e crie um novo projeto (Arquivo ->Novo Projeto).

Etapa 3 – Criar um aplicativo Web

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

Screenshot of creating a new web project

Etapa 4 – Configurar o IIS com nosso aplicativo Web

No Gerenciador de Soluções, clique com o botão direito do mouse no projeto raiz e selecione Propriedades.

Nas propriedades do aplicativo Web, selecione a guia Web . Na seção Servidores , escolha O IIS Local no menu suspenso e clique em Criar Diretório Virtual.

Screenshot of web tab in project properties

Etapa 5 – Adicionar um pacote de aplicativo a um aplicativo Web

Adicione o pacote de aplicativos que você vai distribuir no aplicativo Web. Você pode usar o pacote do aplicativo que faz parte dos pacotes de projeto inicial fornecidos no GitHub se não tiver um pacote de aplicativo disponível. O certificado (MySampleApp.cer) que o pacote usou também faz parte da amostra no GitHub. Você deve ter o certificado instalado no dispositivo antes de instalar o aplicativo (Etapa 9).

No aplicativo Web do projeto inicial, uma nova pasta foi adicionada ao aplicativo Web chamado pacotes que contêm os pacotes de aplicativo a serem distribuídos. Para criar a pasta no Visual Studio, clique com o botão direito do mouse no nó do projeto no Gerenciador de Soluções, selecione Adicionar ->Nova Pasta e nomeie-a em pacotes. Para adicionar pacotes de aplicativo à pasta, clique com o botão direito do mouse na pasta de pacotes e selecione Adicionar ->Item Existente... e navegue até o local do pacote do aplicativo.

Screenshot of adding a package

Etapa 6 – Criar uma página da Web

Este aplicativo Web de exemplo usa HTML simples. Você é livre para criar seu aplicativo Web conforme necessário de acordo com suas necessidades.

Clique com o botão direito do mouse no projeto raiz do Gerenciador de Soluções, selecione Adicionar ->Novo Item e adicione uma nova página HTML na seção da Web .

Depois que a página HTML for criada, clique com o botão direito do mouse na página HTML no Gerenciador de Soluções e selecione Definir como Página Inicial.

Clique duas vezes no arquivo HTML para abri-lo na janela do editor de código. Neste tutorial, somente os elementos necessários na página da Web para invocar o aplicativo Instalador de Aplicativos com êxito para instalar um aplicativo do Windows 10 serão usados.

Inclua o código HTML a seguir em sua página da Web. A chave para invocar com êxito o Instalador de Aplicativos é usar o esquema personalizado que o Instalador de Aplicativos registra no sistema operacional: ms-appinstaller:?source=. Confira o exemplo de código abaixo para obter mais detalhes.

Observação

Verifique se o caminho de URL especificado após o esquema personalizado corresponde à URL do Projeto na guia Web da sua solução VS.

<html>
<head>
    <meta charset="utf-8" />
    <title> Install Page </title>
</head>
<body>
    <a href="ms-appinstaller:?source=http://localhost/SampleWebApp/packages/MySampleApp.msixbundle"> Install My Sample App</a>
</body>
</html>

Etapa 7 – Configurar o aplicativo Web para tipos MIME do pacote de aplicativos

Abra o arquivo Web.config do gerenciador de soluções e adicione as linhas a seguir dentro do <configuration> elemento.

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

Observação

No .NET Core mais recente da tecnologia Web da Microsoft. O build de site usando o ASP do .NET Core ignora web.config mimeMap de conteúdo estático. Como resultado, você precisará de uma configuração adequada do site do .NET Core que hospedará sua instalação msix que você precisa modificar o método Configure no arquivo Startup.cs. Visite a documentação do .NET Core para obter mais informações.

Etapa 8 – Adicionar isenção de loopback para o Instalador de Aplicativos

Devido ao isolamento de rede, aplicativos do Windows 10 como o Instalador de Aplicativos são restritos para usar endereços de loopback IP como http://localhost/. Ao usar o servidor IIS local, o Instalador de Aplicativos deve ser adicionado à lista de isentos de loopback.

Para fazer isso, abra o Prompt de Comando como Administrador e insira o seguinte:

CheckNetIsolation.exe LoopbackExempt -a -n=microsoft.desktopappinstaller_8wekyb3d8bbwe

Para verificar se o aplicativo foi adicionado à lista de isentos, use o seguinte comando para exibir os aplicativos na lista de isentos de loopback:

CheckNetIsolation.exe LoopbackExempt -s

Você deve encontrar microsoft.desktopappinstaller_8wekyb3d8bbwe na lista.

Depois que a validação local da instalação do aplicativo por meio do Instalador de Aplicativos for concluída, você poderá remover a isenção de loopback que você adicionou nesta etapa:

CheckNetIsolation.exe LoopbackExempt -d -n=microsoft.desktopappinstaller_8wekyb3d8bbwe

Etapa 9 – Executar o aplicativo Web

Crie e execute o aplicativo Web clicando no botão Executar na Faixa de Opções do VS, conforme mostrado na imagem abaixo:

Screenshot of running web app in Visual Studio

Uma página da Web será aberta no navegador:

Screenshot of installing app from web page

Clique no link na página da Web para iniciar o aplicativo Instalador de Aplicativos e instalar o pacote de aplicativos do Windows 10.

Solução de problemas

Privilégio não suficiente

Se a execução do aplicativo Web no Visual Studio exibir um erro como "Você não tem privilégio suficiente para acessar sites do IIS em seu computador", será necessário executar o Visual Studio como administrador. Feche a instância atual do Visual Studio e reabra-a como administrador.

Definir página inicial

Se a execução do aplicativo Web faz com que o navegador seja carregado com um erro HTTP 403.14 – Proibido, é porque o aplicativo Web não tem uma página inicial definida. Consulte a Etapa 6 neste tutorial para saber como definir uma página inicial.