Passo a passo: Implantar um aplicativo ClickOnce

Se você não puder usar o Visual Studio para implantar seu aplicativo ClickOnce ou precisar usar recursos avançados de implantação, como a Implantação de Aplicativo Confiável, deverá usar a ferramenta de linha de comando Mage.exe para criar seus manifestos do ClickOnce. Este passo a passo descreve como criar uma implantação do ClickOnce usando a versão de linha de comando (Mage.exe) ou a versão gráfica (MageUI.exe) do Manifest Generation and Editing Tool.

Observação

No ClickOnce para .NET Core 3.1 e .NET 5 ou posterior, use dotnet-mage.exe em vez de Mage.exe. Para obter mais informações, confira ClickOnce para .NET.

Pré-requisitos

Este passo a passo tem alguns pré-requisitos e opções que você precisa escolher antes de criar uma implantação.

  • Instale Mage.exe e MageUI.exe.

    Mage.exe e MageUI.exe fazem parte do Software Development Kit do Windows (SDK). Você precisa ter o SDK do Windows instalado ou a versão do SDK do Windows incluída no Visual Studio. Para obter mais informações, confira SDK do Windows no MSDN.

  • Forneça um aplicativo para implantar.

    Este passo a passo pressupõe que você tenha um aplicativo do Windows que está pronto para implantar. Esse aplicativo será chamado de AppToDeploy.

  • Determine como a implantação será distribuída.

    As opções de distribuição incluem: Web, compartilhamento de arquivos ou CD. Para obter mais informações, consulte Segurança e implantação do ClickOnce.

  • Determine se o aplicativo exige um nível elevado de confiança.

    Se o aplicativo exigir Confiança Total, por exemplo, acesso completo ao sistema do usuário, você poderá usar a opção -TrustLevel de Mage.exe para definir isso. Se você quiser definir um conjunto de permissões personalizado para seu aplicativo, poderá copiar a seção de permissão da Internet ou da intranet de outro manifesto, modificá-la para atender às suas necessidades e adicioná-la ao manifesto do aplicativo usando um editor de texto ou MageUI.exe. Para obter mais informações, confira Visão geral da implantação de aplicativos confiáveis.

  • Obtenha um certificado Authenticode.

    Você deve assinar sua implantação com um certificado Authenticode. Você pode gerar um certificado de teste usando o Visual Studio ou as ferramentas MageUI.exe, ou MakeCert.exe e Pvk2Pfx.exe, ou pode obter um certificado de uma AC (Autoridade de Certificação). Se você optar por usar a Implantação de Aplicativo Confiável, também precisará executar uma instalação única do certificado em todos os computadores cliente. Para saber mais, veja Visão geral da implantação de aplicativos confiáveis.

    Observação

    Você também pode assinar sua implantação com um certificado CNG que pode ser obtido de uma Autoridade de Certificação.

  • Verifique se o aplicativo não tem um manifesto com informações do UAC.

    Você precisa determinar se seu aplicativo contém um manifesto com informações do UAC (Controle de Conta de Usuário), como um elemento <dependentAssembly>. Para examinar um manifesto do aplicativo, você pode usar o utilitário Sigcheck do Windows Sysinternals.

    Se o aplicativo contiver um manifesto com detalhes do UAC, você precisará compilá-lo novamente sem as informações do UAC. Para um projeto C# no Visual Studio, abra as propriedades do projeto e selecione a guia Aplicativo. Na lista suspensa Manifesto, selecione Criar aplicativo sem um manifesto. Para um projeto do Visual Basic no Visual Studio, abra as propriedades do projeto, selecione a guia Aplicativo e clique em Exibir Configurações do UAC. No arquivo de manifesto aberto, remova todos os elementos dentro do único elemento <asmv1:assembly>.

  • Determine se o aplicativo exige pré-requisitos no computador cliente.

    Os aplicativos ClickOnce implantados do Visual Studio podem incluir um bootstrapper de instalação de pré-requisito (setup.exe) com sua implantação. Este passo a passo cria os dois manifestos necessários para uma implantação do ClickOnce. Você pode criar um bootstrapper de pré-requisito usando a tarefa GenerateBootstrapper.

Para implantar um aplicativo com a ferramenta de linha de comando Mage.exe

  1. Crie um diretório no qual você armazenará os arquivos de implantação do ClickOnce.

  2. No diretório de implantação que você acabou de criar, crie um subdiretório de versão. Se esta for a primeira vez que você está implantando o aplicativo, nomeie o subdiretório de versão 1.0.0.0.

    Observação

    A versão da implantação pode ser distinta da versão do seu aplicativo.

  3. Copie todos os arquivos do aplicativo para o subdiretório de versão, incluindo arquivos executáveis, assemblies, recursos e arquivos de dados. Se necessário, você pode criar subdiretórios adicionais que contêm arquivos adicionais.

  4. Abra o prompt de comando do SDK do Windows ou do Visual Studio e acesse o subdiretório de versão.

  5. Crie o manifesto do aplicativo com uma chamada para Mage.exe. A instrução a seguir cria um manifesto do aplicativo para que o código compilado seja executado no processador Intel x86.

    mage -New Application -Processor x86 -ToFile AppToDeploy.exe.manifest -name "My App" -Version 1.0.0.0 -FromDirectory .
    

    Observação

    Certifique-se de incluir o ponto (.) após a opção -FromDirectory, que indica o diretório atual. Se você não incluir o ponto, precisará especificar o caminho para os arquivos do aplicativo.

  6. Assine o manifesto do aplicativo com o certificado Authenticode. Substitua mycert.pfx pelo caminho para o arquivo de certificado. Substitua passwd pela senha do arquivo de certificado.

    mage -Sign AppToDeploy.exe.manifest -CertFile mycert.pfx -Password passwd
    

    Começando com o SDK do .NET Framework 4.6.2, que é distribuído com o Visual Studio e com o SDK do Windows, mage.exe assina manifestos com CNG, bem como certificados Authenticode. Use os mesmos parâmetros de linha de comando que com certificados Authenticode.

  7. Acesse a raiz do diretório de implantação.

  8. Gere o manifesto de implantação com uma chamada para Mage.exe. Por padrão, Mage.exe marcará sua implantação do ClickOnce como um aplicativo instalado, para que ele possa ser executado online e offline. Para disponibilizar o aplicativo somente quando o usuário estiver online, use a opção -Install com um valor de false. Se você usar o padrão e os usuários instalarem seu aplicativo de um site ou compartilhamento de arquivos, verifique se o valor da opção -ProviderUrl aponta para o local do manifesto do aplicativo no compartilhamento ou servidor Web.

    mage -New Deployment -Processor x86 -Install true -Publisher "My Co." -ProviderUrl "\\myServer\myShare\AppToDeploy.application" -AppManifest 1.0.0.0\AppToDeploy.exe.manifest -ToFile AppToDeploy.application
    
  9. Assine o manifesto de implantação com seu certificado Authenticode ou CNG.

    mage -Sign AppToDeploy.application -CertFile mycert.pfx -Password passwd
    
  10. Copie todos os arquivos no diretório de implantação para o destino ou mídia de implantação. Pode ser uma pasta em um site ou site FTP, um compartilhamento de arquivos ou um CD-ROM.

  11. Forneça aos usuários a URL, UNC ou mídia física necessária para instalar seu aplicativo. Se você fornecer uma URL ou um UNC, precisará fornecer aos usuários o caminho completo para o manifesto de implantação. Por exemplo, se AppToDeploy for implantado em http://webserver01/ no diretório AppToDeploy, o caminho completo da URL será http://webserver01/AppToDeploy/AppToDeploy.application.

Para implantar um aplicativo com a ferramenta gráfica MageUI.exe

  1. Crie um diretório no qual você armazenará os arquivos de implantação do ClickOnce.

  2. No diretório de implantação que você acabou de criar, crie um subdiretório de versão. Se esta for a primeira vez que você está implantando o aplicativo, nomeie o subdiretório de versão 1.0.0.0.

    Observação

    A versão da implantação provavelmente é distinta da versão do seu aplicativo.

  3. Copie todos os arquivos do aplicativo para o subdiretório de versão, incluindo arquivos executáveis, assemblies, recursos e arquivos de dados. Se necessário, você pode criar subdiretórios adicionais que contêm arquivos adicionais.

  4. Inicie a ferramenta gráfica MageUI.exe.

    MageUI.exe
    
  5. Crie um manifesto do aplicativo selecionando Arquivo, Novo, Manifesto do Aplicativo no menu.

  6. Na guia Nome padrão, digite o nome e o número de versão dessa implantação. Especifique também o Processador para o qual seu aplicativo foi criado, como x86.

  7. Selecione a guia Arquivos e, em seguida, selecione o botão de reticências (...) ao lado da caixa de texto Diretório do aplicativo. Uma caixa de diálogo Procurar Pasta é exibida.

  8. Selecione o subdiretório de versão que contém os arquivos do aplicativo e, em seguida, selecione OK.

  9. Se você implantar do IIS (Serviços de Informações da Internet), marque a caixa de seleção Ao preencher, adicionar a extensão .deploy a qualquer arquivo que não a tenha.

  10. Vá para o botão Preencher para adicionar todos os arquivos de aplicativo à lista de arquivos. Se o aplicativo contiver mais de um arquivo executável, marque o arquivo executável principal para essa implantação como o aplicativo de inicialização, selecionando Ponto de Entrada na lista suspensa Tipo de Arquivo. (Se o aplicativo contiver apenas um arquivo executável, MageUI.exe o marcará para você.)

  11. Selecione a guia Permissões Necessárias e selecione o nível de confiança que você precisa que seu aplicativo assegure. O padrão é FullTrust, que será adequado para a maioria dos aplicativos.

  12. No menu, selecione Arquivo, Salvar Como. Uma caixa de diálogo Opções de Assinatura é exibida, solicitando que você assine o manifesto do aplicativo.

  13. Se você tiver um certificado armazenado como um arquivo em seu sistema de arquivos, use a opção Assinar com arquivo de certificado e selecione o certificado no sistema de arquivos usando o botão de reticências (...). Em seguida, digite a senha do certificado.

    -ou-

    Se o certificado for mantido em um repositório de certificados acessível no computador, selecione a opção Assinar com certificado armazenado e selecione o certificado na lista fornecida.

  14. Selecione OK para assinar o manifesto do aplicativo. A caixa de diálogo Salvar como é exibida.

  15. Na caixa de diálogo Salvar como, especifique o diretório de versão e selecione Salvar.

  16. Selecione Arquivo, Novo, Manifesto de Implantação no menu para criar seu manifesto de implantação.

  17. Na guia Nome, especifique um nome e um número de versão para essa implantação (1.0.0.0 neste exemplo). Especifique também o Processador para o qual seu aplicativo foi criado, como x86.

  18. Selecione a guia Descrição e especifique valores para Publicador e Produto. (Produto é o nome fornecido ao seu aplicativo no menu Iniciar do Windows quando seu aplicativo é instalado em um computador cliente para uso offline.)

  19. Selecione a guia Opções de Implantação e, na caixa de texto Iniciar Local, especifique o local do manifesto do aplicativo no servidor Web ou compartilhamento. Por exemplo, \\myServer\myShare\AppToDeploy.application.

  20. Se você adicionou a extensão .deploy em uma etapa anterior, selecione também Usar a extensão do nome de arquivo .deploy aqui.

  21. Selecione a guia Opções de Atualização e especifique com que frequência você gostaria que este aplicativo fosse atualizado. Se o aplicativo usar UpdateCheckInfo para verificar se há atualizações em si, desmarque a caixa de seleção Este aplicativo deve verificar se há atualizações.

  22. Selecione a guia Referência de Aplicativo e, em seguida, acesse o botão Selecionar Manifesto. Uma caixa de diálogo aberta é exibida.

  23. Selecione o manifesto do aplicativo que você criou anteriormente e selecione Abrir.

  24. No menu, selecione Arquivo, Salvar Como. Uma caixa de diálogo Opções de Assinatura é exibida, solicitando que você assine o manifesto de implantação.

  25. Se você tiver um certificado armazenado como um arquivo em seu sistema de arquivos, use a opção Assinar com arquivo de certificado e selecione o certificado no sistema de arquivos usando o botão de reticências (...). Em seguida, digite a senha do certificado.

    -ou-

    Se o certificado for mantido em um repositório de certificados acessível no computador, selecione a opção Assinar com certificado armazenado e selecione o certificado na lista fornecida.

  26. Selecione OK para assinar seu manifesto de implantação. A caixa de diálogo Salvar como é exibida.

  27. Na caixa de diálogo Salvar Como, mova um diretório para a raiz da implantação e selecione Salvar.

  28. Copie todos os arquivos no diretório de implantação para o destino ou mídia de implantação. Pode ser uma pasta em um site ou site FTP, um compartilhamento de arquivos ou um CD-ROM.

  29. Forneça aos usuários a URL, UNC ou mídia física necessária para instalar seu aplicativo. Se você fornecer uma URL ou UNC, precisará fornecer aos usuários o caminho completo do manifesto de implantação. Por exemplo, se AppToDeploy for implantado em http://webserver01/ no diretório AppToDeploy, o caminho completo da URL será http://webserver01/AppToDeploy/AppToDeploy.application.

Próximas etapas

Quando precisar implantar uma nova versão do aplicativo, crie um diretório com o nome da nova versão, por exemplo, 1.0.0.1, e copie os novos arquivos de aplicativo para o novo diretório. Em seguida, você precisa seguir as etapas anteriores para criar e assinar um manifesto do aplicativo, bem como atualizar e assinar o manifesto de implantação. Tenha cuidado para especificar a mesma versão superior nas chamadas Mage.exe-New e -Update, pois o ClickOnce atualiza apenas versões mais altas, com o inteiro mais à esquerda sendo o mais significativo. Se você usou MageUI.exe, pode atualizar o manifesto de implantação abrindo-o, selecionando a guia Referência do Aplicativo, vá para o botão Selecionar Manifesto e, em seguida, selecione o manifesto do aplicativo atualizado.