Partilhar via


Distribuir um aplicativo do Windows 10 de um servidor IIS

Este tutorial demonstra como configurar um servidor IIS, verificar se seu aplicativo Web pode hospedar pacotes de aplicativos e invocar e usar o App Installer de forma eficaz.

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

Configuração

Para prosseguir com sucesso 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 de aplicativos que você distribuirá

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

Etapa 1 - Instalar o IIS e o 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. No menu Iniciar, procure Ativar ou desativar funcionalidades do Windows.

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

Observação

Não é necessário marcar todas as caixas de seleção em Serviços de Informações da Internet. Somente os selecionados quando você verifica os Serviços de Informações da Internet são suficientes.

Você também precisará instalar o ASP.NET 4.5 ou superior. Para instalá-lo, localize Internet Information Services -> World Wide Web Services -> Application Development Features. Selecione uma versão do ASP.NET que seja maior ou igual a ASP.NET 4.5.

Captura de ecrã da instalação da funcionalidade ASP.NET

Etapa 2 - Instalar o Visual Studio 2017 e as ferramentas de desenvolvimento da Web

Instale o Visual Studio 2017 se ainda não o tiver instalado. Se você já tiver o Visual Studio 2017, verifique se as seguintes cargas de trabalho estão instaladas. Se as cargas de trabalho não estiverem presentes em sua instalação, acompanhe 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 em que esteja interessado.

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

Etapa 3 - Criar um aplicativo Web

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

Captura de tela da criação de um novo projeto Web

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 IIS Local no menu suspenso e clique em Criar Diretório Virtual.

Captura de ecrã do separador Web nas propriedades do projeto

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

Adicione o pacote do aplicativo que você vai distribuir no aplicativo Web. Você pode usar o pacote de 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) com o qual o pacote foi assinado também está com o exemplo no GitHub. Você deve ter o certificado instalado no seu dispositivo antes de instalar o aplicativo (Etapa 9).

No aplicativo Web do projeto inicial, uma nova pasta foi adicionada ao aplicativo Web chamada pacotes que contém 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 -> e nomeie-acomo pacotes. Para adicionar pacotes de aplicativos à pasta, clique com o botão direito do mouse na pasta de pacotes , selecione Adicionar ->Item Existente... e navegue até o local do pacote do aplicativo.

Captura de ecrã a mostrar a adição de um pacote

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 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, apenas os elementos necessários na página da Web para invocar o aplicativo App Installer com êxito para instalar um aplicativo do Windows 10 serão usados.

Inclua o seguinte código HTML na sua página Web. A chave para invocar com êxito o App Installer é usar o esquema personalizado que o App Installer registra com o sistema operacional: ms-appinstaller:?source=. Consulte o exemplo de código abaixo para obter mais detalhes.

Observação

Verifique se o caminho da URL especificado após o esquema personalizado corresponde à URL do projeto na guia da 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 do aplicativo

Abra o arquivo Web.config do gerenciador de soluções e adicione as seguintes linhas 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

Na mais recente tecnologia Web da Microsoft .NET Core. Construção de site usando .NET Core ASP que ignora o conteúdo estático web.config no mimeMap. Como resultado, será necessário ter uma configuração adequada do site .NET Core que hospedará a sua instalação do MSIX, e é necessário 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 App Installer

Devido ao isolamento da rede, os aplicativos do Windows 10, como o App Installer, estão restritos a usar endereços de loopback IP como http://localhost/. Ao usar o Servidor IIS local, o App Installer deve ser adicionado à lista de isenção de loopback.

Para fazer isso, abra o prompt de comando como administrador e digite o seguinte:

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

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

CheckNetIsolation.exe LoopbackExempt -s

Você deve encontrar microsoft.desktopappinstaller_8wekyb3d8bbwe na lista.

Quando a validação local da instalação do aplicativo por meio do App Installer estiver 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

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

Captura de ecrã da execução da aplicação Web no Visual Studio

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

Captura de ecrã a mostrar a instalação da aplicação a partir da página Web

Clique no link na página da Web para iniciar o aplicativo App Installer e instalar seu pacote de 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 sua máquina", você precisará 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 fizer com que o navegador carregue 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.