Partilhar via


Implantação e segurança do ClickOnce

O ClickOnce é uma tecnologia de implantação que permite criar aplicativos baseados no Windows de atualização automática que podem ser instalados e executados com o mínimo de interação do usuário. Visual Studio fornece suporte completo para publicação e atualização de aplicativos implantados com a tecnologia ClickOnce se você tiver desenvolvido seus projetos com Visual Basic e Visual C#. Para obter informações sobre como implantar aplicativos Visual C++, consulte ClickOnce Deployment for Visual C++ Applications.

A implantação do ClickOnce supera três problemas principais na implantação:

  • Dificuldades na atualização das candidaturas. Com a implantação do Microsoft Windows Installer, sempre que um aplicativo é atualizado, o usuário pode instalar uma atualização, um arquivo msp e aplicá-lo ao produto instalado; com a implantação do ClickOnce, você pode fornecer atualizações automaticamente. Somente as partes do aplicativo que foram alteradas são baixadas e, em seguida, o aplicativo completo e atualizado é reinstalado a partir de uma nova pasta lado a lado.

  • Impacto no computador do utilizador. Com a implantação do Windows Installer, os aplicativos geralmente dependem de componentes compartilhados, com potencial para conflitos de versão; com a implantação do ClickOnce, cada aplicativo é independente e não pode interferir com outros aplicativos.

  • Permissões de segurança. A implantação do Windows Installer requer permissões administrativas e permite apenas a instalação limitada do usuário; A implantação do ClickOnce permite que usuários não administrativos instalem e concede apenas as permissões de Segurança de Acesso ao Código necessárias para o aplicativo.

    No passado, esses problemas às vezes faziam com que os desenvolvedores decidissem criar aplicativos Web em vez de aplicativos baseados no Windows, sacrificando uma interface de usuário rica para facilitar a instalação. Usando aplicativos implantados usando ClickOnce, você pode ter o melhor de ambas as tecnologias.

O que é um aplicativo ClickOnce?

Um aplicativo ClickOnce é qualquer Windows Presentation Foundation (.xbap), Windows Forms (.exe), aplicativo de console (.exe) ou solução do Office (.dll) publicado usando a tecnologia ClickOnce. Você pode publicar um aplicativo ClickOnce de três maneiras diferentes: de uma página da Web, de um compartilhamento de arquivos de rede ou de mídia herdada, como um CD-ROM. Um aplicativo ClickOnce pode ser instalado no computador de um usuário final e executado localmente mesmo quando o computador está offline, ou pode ser executado em um modo somente online sem instalar permanentemente nada no computador do usuário final. Para obter mais informações, consulte Escolha uma estratégia de implantação do ClickOnce.

As aplicações ClickOnce podem ser auto-actualizadas; Eles podem verificar se há versões mais recentes à medida que ficam disponíveis e substituir automaticamente todos os arquivos atualizados. O desenvolvedor pode especificar o comportamento de atualização; Um administrador de rede também pode controlar estratégias de atualização, por exemplo, marcando uma atualização como obrigatória. As atualizações também podem ser revertidas para uma versão anterior pelo usuário final ou por um administrador. Para obter mais informações, consulte Escolha uma Estratégia de Atualização ClickOnce.

Como os aplicativos ClickOnce são isolados, instalar ou executar um aplicativo ClickOnce não pode interromper aplicativos existentes. Os aplicativos ClickOnce são independentes; cada aplicativo ClickOnce é instalado e executado a partir de um cache seguro por usuário e por aplicativo. Os aplicativos ClickOnce são executados nas zonas de segurança da Internet ou da Intranet. Se necessário, o aplicativo pode solicitar permissões de segurança elevadas. Para obter mais informações, consulte aplicações ClickOnce seguras.

Como funciona a segurança do ClickOnce

A segurança principal do ClickOnce é baseada em certificados, políticas de segurança de acesso ao código e no prompt de confiança do ClickOnce.

Certificados

Os certificados Authenticode são usados para verificar a autenticidade do editor do aplicativo. Ao usar o Authenticode para implantação de aplicativos, o ClickOnce ajuda a evitar que um programa prejudicial se apresente como um programa legítimo vindo de uma fonte estabelecida e confiável. Opcionalmente, os certificados também podem ser usados para assinar os manifestos de aplicativo e implantação para provar que os arquivos não foram adulterados. Para obter mais informações, consulte ClickOnce e Authenticode. Os certificados também podem ser usados para configurar computadores clientes para que tenham uma lista de editores confiáveis. Se um aplicativo vier de um editor confiável, ele poderá ser instalado sem qualquer interação do usuário. Para obter mais informações, consulte Visão geral da implantação de aplicativos confiáveis.

Segurança de acesso ao código

A segurança de acesso ao código ajuda a limitar o acesso que o código tem aos recursos protegidos. Na maioria dos casos, você pode escolher as zonas da Internet ou da Intranet Local para limitar as permissões. Use a página de segurança no Project Designer para solicitar a zona apropriada para a aplicação. Você também pode depurar aplicativos com permissões restritas para emular a experiência do usuário final. Para obter mais informações, consulte Segurança de acesso ao código para aplicativos ClickOnce.

Observação

No ClickOnce para .NET Core e .NET 5 ou posterior, esse recurso não é suportado. Para obter mais informações, consulte ClickOnce para .NET.

Prompt de confiança ClickOnce

Se o aplicativo solicitar mais permissões do que a zona permite, o usuário final poderá ser solicitado a tomar uma decisão de confiança. O usuário final pode decidir se os aplicativos ClickOnce, como aplicativos Windows Forms, aplicativos Windows Presentation Foundation, aplicativos de console, aplicativos de navegador XAML e soluções do Office, são confiáveis para execução. Para obter mais informações, consulte Como configurar o comportamento do prompt de confiança ClickOnce.

Como funciona a implantação do ClickOnce

A arquitetura de implantação principal do ClickOnce é baseada em dois arquivos de manifesto XML: um manifesto do aplicativo e um manifesto de implantação. Os arquivos são usados para descrever de onde os aplicativos ClickOnce são instalados, como eles são atualizados e quando eles são atualizados.

Publicar aplicativos ClickOnce

O manifesto do aplicativo descreve o próprio aplicativo. Isso inclui os assemblies, as dependências e os arquivos que compõem o aplicativo, as permissões necessárias e o local onde as atualizações estarão disponíveis. O desenvolvedor do aplicativo cria o manifesto do aplicativo usando o Assistente de publicação no Visual Studio (ferramenta de publicação para .NET Core e .NET 5+) ou a ferramenta de geração e edição de manifesto (Mage.exe) no Windows Software Development Kit (SDK). Para mais informações, consulte:

O manifesto de implantação descreve como o aplicativo é implantado. Isso inclui o local do manifesto do aplicativo e a versão do aplicativo que os clientes devem executar.

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, consulte ClickOnce para .NET.

Implantar aplicativos ClickOnce

Depois de criado, o manifesto de implantação é copiado para o local de implantação. Pode ser um servidor Web, compartilhamento de arquivos de rede ou mídia herdada, como um CD. O manifesto do aplicativo e todos os arquivos do aplicativo também são copiados para um local de implantação especificado no manifesto de implantação. Isso pode ser o mesmo que o local de implantação ou pode ser um local diferente. Ao usar o Assistente de publicação no Visual Studio, as operações de cópia são executadas automaticamente.

Instalar aplicativos ClickOnce

Depois de implantado no local de implantação, os usuários finais podem baixar e instalar o aplicativo clicando em um ícone que representa o arquivo de manifesto de implantação em uma página da Web ou em uma pasta. Na maioria dos casos, é apresentada ao usuário final uma caixa de diálogo simples solicitando que o usuário confirme a instalação, após a qual a instalação prossegue e o aplicativo é iniciado sem intervenção adicional. Nos casos em que o aplicativo requer permissões elevadas ou se o aplicativo não estiver assinado por um certificado confiável, a caixa de diálogo também solicita que o usuário conceda permissão antes que a instalação possa continuar. Embora as instalações do ClickOnce sejam por usuário, a elevação de permissão pode ser necessária se houver pré-requisitos que exijam privilégios de administrador. Para obter mais informações sobre permissões elevadas, consulte Protegendo aplicativos ClickOnce.

Os certificados podem ser confiáveis no nível da máquina ou da empresa, para que os aplicativos ClickOnce assinados com um certificado confiável possam ser instalados silenciosamente. Para obter mais informações sobre certificados confiáveis, consulte Visão geral da implantação de aplicativos confiáveis.

O aplicativo pode ser adicionado ao menu Iniciar do usuário e ao grupo Adicionar ou Remover Programas no Painel de Controle . Ao contrário de outras tecnologias de implantação, nada é adicionado à pasta Arquivos de Programas ou ao Registro, e nenhum direito administrativo é necessário para a instalação

Observação

Também é possível impedir que o aplicativo seja adicionado ao menu Iniciar e grupo Adicionar ou Remover Programas, fazendo com que ele se comporte como um aplicativo Web. Para obter mais informações, consulte Escolha uma Estratégia de Implantação do ClickOnce.

Atualizar aplicativos ClickOnce

Quando os desenvolvedores de aplicativos criam uma versão atualizada do aplicativo, eles geram um novo manifesto do aplicativo e copiam arquivos para um local de implantação — geralmente uma pasta irmã para a pasta de implantação do aplicativo original. O administrador atualiza o manifesto de implantação para apontar para o local da nova versão do aplicativo.

Observação

O Assistente de publicação no Visual Studio pode ser usado para executar essas etapas. Para .NET Core e .NET 5+, a ferramenta Publicar fornece estas etapas.

Além do local de implantação, o manifesto de implantação também contém um local de atualização (uma página da Web ou compartilhamento de arquivos de rede) onde o aplicativo verifica se há versões atualizadas. As propriedades ClickOnce Publish são usadas para especificar quando e com que frequência o aplicativo deve verificar se há atualizações. O comportamento de atualização pode ser especificado no manifesto de implantação ou pode ser apresentado como opções do usuário na interface do usuário do aplicativo por meio das APIs ClickOnce. Além disso, propriedades Publish podem ser empregadas para tornar as atualizações obrigatórias ou para reverter para uma versão anterior. Para obter mais informações, consulte Escolhendo uma estratégia de atualização do ClickOnce.

Instaladores de terceiros

Você pode personalizar seu instalador ClickOnce para instalar componentes de terceiros junto com seu aplicativo. Você deve ter o pacote redistribuível (ficheiro.exe ou .msi) e descrever o pacote com um manifesto de produto neutro em termos de idioma e um manifesto específico para o idioma do pacote. Para obter mais informações, consulte Criação de pacotes de inicializador.

Ferramentas ClickOnce

A tabela a seguir mostra as ferramentas que você pode usar para gerar, editar, assinar e assinar novamente os manifestos do aplicativo e da implantação. Para .NET Core e .NET 5+, opções semelhantes aos atributos do MSBuild são definidas usando o perfil de publicação.

Ferramenta Descrição
Página de Segurança , Designer de Projetos Assina os manifestos da aplicação e da implantação. Para .NET Core e .NET 5+, essas configurações estão no perfil de publicação.
Página de publicação, Designer de Projetos Gera e edita os manifestos de aplicativo e implantação para aplicativos Visual Basic e Visual C#. Para .NET Core e .NET 5+, essas configurações estão no perfil de publicação.
Mage.exe (Ferramenta de Geração e Edição de Manifestos) Gera a aplicação e os manifestos de implantação para aplicações de Visual Basic, Visual C# e Visual C++.

Assina e reassina os manifestos da aplicação e da implantação.

Pode ser executado a partir de scripts em lote e do prompt de comando.
dotnetmage.exe (Ferramenta de Geração e Edição de Manifestos) Gera os manifestos de aplicativo e implantação para aplicativos .NET 5+ C# e Visual Basic. O uso é equivalente a Mage.exe.

Assina e volta a assinar os manifestos da aplicação e da implantação.

Pode ser executado a partir de scripts batch e do prompt de comando.
MageUI.exe (Ferramenta de Geração e Edição de Manifesto, Cliente Gráfico) Gera e edita os manifestos do aplicativo e da implantação.

Assina e volta a assinar os manifestos da aplicação e da implementação.
da tarefa GenerateApplicationManifest Gera o manifesto do aplicativo.

Pode ser executado a partir do MSBuild. Para obter mais informações, consulte a referência do MSBuild em .
Tarefa GenerateDeploymentManifest Gera o manifesto de implantação.

Pode ser executado a partir do MSBuild. Para obter mais informações, consulte a referência do MSBuild .
tarefa SignFile Assina os manifestos da aplicação e de implantação.

Pode ser executado a partir do MSBuild. Para obter mais informações, consulte a referência do MSBuild .
Microsoft.Build.Tasks.Deployment.ManifestUtilities Desenvolva seu próprio aplicativo para gerar o aplicativo e os manifestos de implantação.

A tabela a seguir mostra a versão do .NET Framework necessária para oferecer suporte a aplicativos ClickOnce nesses navegadores.

Navegador Versão do .NET Framework
Firefox 2.0 SP1, 3.5 SP1, 4
Cromado 3.5
Microsoft Edge 3.5