Share via


Distribuir um aplicativo do Windows 10 por um servidor de IIS

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

O aplicativo Instalador de Aplicativo permite que desenvolvedores e Profissionais de TI distribuam aplicativos do Windows 10 hospedando-os em sua própria CDN (Rede de Distribuição de Conteúdo). Isso é útil para empresas que não desejam ou precisam publicar seus aplicativos na Microsoft Store, mas ainda querem usufruir da plataforma de empacotamento e implantação do Windows 10.

Instalação

Para seguir este tutorial com êxito, você precisará dos seguintes itens:

  1. Visual Studio 2017
  2. Ferramentas de desenvolvimento Web e IIS
  3. Pacote do aplicativo do Windows 10 — o pacote do aplicativo que você distribuirá

Opcional: Projeto inicial no GitHub. Isso será útil caso você não tenha pacotes de aplicativos com os quais trabalhar, mas mesmo assim desejar aprender a usar esse recurso.

Etapa 1: instalar o IIS e o ASP.NET

Serviços de Informações da Internet são um recurso do Windows que pode ser instalado por meio do menu Iniciar. Clique no menu Iniciar e localize Ativar ou desativar recursos do Windows.

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

Observação

Não é necessário selecionar todas as caixas de seleção em Serviços de Informações da Internet. Aquelas selecionadas ao marcar Serviços de Informações da Internet serão suficientes.

Também será necessário instalar o ASP.NET 4.5 ou superior. Para instalá-lo, localize Serviços de Informações da Internet ->Serviços da World Wide Web -> Recursos de desenvolvimento de aplicativos. Selecione uma versão do ASP.NET igual ou superior ao ASP.NET 4.5.

Screenshot of installing ASP.NET feature

Etapa 2: instalar o Visual Studio 2017 e as ferramentas de desenvolvimento Web

Instale o Visual Studio 2017 se ainda não tiver instalado. Se já tiver o Visual Studio 2017, verifique se as cargas de trabalho a seguir estão instaladas. Se elas não estiverem presentes na instalação, siga o processo usando o Visual Studio Installer (encontrado no menu Iniciar).

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

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

Etapa 3: compilar 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 o 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 IIS local no menu suspenso e clique em Criar diretório virtual.

Screenshot of web tab in project properties

Etapa 5: adicionar um pacote do aplicativo a um aplicativo Web

Adicione o pacote do aplicativo que irá distribuir ao aplicativo Web. Se não tiver um pacote do aplicativo disponível. você pode usar o pacote do aplicativo que faz parte dos pacotes de projeto inicial fornecidos no GitHub. O certificado (MySampleApp.cer) com o qual o pacote foi assinado também integra a amostra no GitHub. Você deve instalar o certificado em seu dispositivo antes de instalar o aplicativo (Etapa 9).

No aplicativo Web do projeto inicial, será adicionada uma nova pasta denominada pacotes com os pacotes do 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 a nomeie como pacotes. Para adicionar pacotes de aplicativo à pasta, clique com o botão direito do mouse na pasta pacotes e selecione Adicionar>Item existente… e navegue até a localização 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ê tem a liberdade de construir seu aplicativo Web de acordo com os requisitos das 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 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 em uma janela de editor de código. Neste tutorial, serão usados somente os elementos necessários na página da Web para invocar com êxito o Instalador de Aplicativo e instalar um aplicativo do Windows 10.

Inclua o seguinte código HTML em sua página da Web. O segredo para invocar com sucesso o Instalador de Aplicativo é usar o esquema personalizado o ele registra no sistema operacional: ms-appinstaller:?source=. Veja o exemplo de código abaixo para obter mais detalhes.

Observação

Verifique se o caminho da URL especificado no esquema personalizado corresponde à URL do projeto na guia Web da sua solução de 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 de pacote do aplicativo

Abra o arquivo Web.config no gerenciador de soluções e adicione as seguntes linhas no elemento configuração <configuration>.

<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

Na mais recente tecnologia web da Microsoft, o .NET Core, sites criados com o ASP .NET Core ignoram web.config do conteúdo estático mimeMap. Por isso, você necessitará de uma configuração adequada do site .NET Core que hospedará a instalação do MSIX. Precisará modificar o método de configuração no arquivo Startup.cs. Visite Documentação do .NET Core.

Etapa 8: adicionar isenção de loopback para o Instalador de Aplicativo

Devido ao isolamento de rede, os aplicativos do Windows 10, como o App Installer, estão restritos a usar endereços de loopback IP como http://localhost/. Quando usar o servidor de IIS local, o Instalador de Aplicativo deverá ser adicionado à lista de isenção de loopback.

Par fazer isso, abra o Prompt de comando como administrador e digite os seguintes comandos:

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

Para verificar se o aplicativo foi adicionado à lista de isenções, use o seguinte comando para exibir os aplicativos que estão na lista de isenções de loopback:

CheckNetIsolation.exe LoopbackExempt -s

Você deve encontrar microsoft.desktopappinstaller_8wekyb3d8bbwe na lista.

Quando a validação local da instalação do aplicativo via o Instalador de Aplicativo for concluída, você poderá remover a isenção de loopback adicionada nesta etapa:

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

Etapa 9: executar o aplicativo Web

Compile e execute o aplicativo Web clicando no botão Executar na faixa de VS, conforme mostrado na imagem abaixo:

Screenshot of running web app in Visual Studio

Uma página da Web será aberta em seu navegador:

Screenshot of installing app from web page

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

Solução de problemas

Privilégio insuficiente

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 a reabra como administrador.

Definir página inicial

Se a execução do aplicativo Web leva o navegador a carregar 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.