Implantação e segurança do ClickOnce
O ClickOnce é uma tecnologia de implantação que permite criar aplicativos baseados em Windows auto-atualizados que podem ser instalados e executados com interação mínima do usuário. O Visual Studio oferece suporte total para publicação e atualização de aplicativos implantados com a tecnologia ClickOnce se você desenvolveu seus projetos com Visual Basic e Visual C#. Para obter informações sobre como implantar aplicativos Do Visual C++, consulte Implantação do ClickOnce para aplicativos do Visual C++.
A implantação do ClickOnce supera três problemas principais na implantação:
Dificuldades na atualização de aplicativos. 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 atualizado é reinstalado de uma nova pasta lado a lado.
Impacto no computador do usuário. Com a implantação do Windows Installer, os aplicativos geralmente dependem de componentes compartilhados, com potencial para conflitos de controle de versão; com a implantação do ClickOnce, cada aplicativo é autocontido e não pode interferir em 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 fazia com que os desenvolvedores decidissem criar aplicativos Web em vez de aplicativos baseados no Windows, sacrificando uma interface avançada do usuário para facilitar a instalação. Usando aplicativos implantados usando o ClickOnce, você pode ter o melhor de ambas as tecnologias.
O que é um aplicativo ClickOnce?
Um aplicativo ClickOnce é qualquer aplicativo do Windows Presentation Foundation (.xbap), Windows Forms (.exe), aplicativo de console (.exe) ou solução do Office (.dll) publicada 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 Escolher uma estratégia de implantação do ClickOnce.
Os aplicativos ClickOnce podem ser auto-atualizados; eles podem verificar se há versões mais recentes à medida que ficam disponíveis e substituem 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, confira Escolher uma estratégia de atualização do 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 em um cache seguro por usuário, 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, confira Proteger aplicativos ClickOnce.
Como funciona a segurança do ClickOnce
A principal segurança do ClickOnce é baseada em certificados, políticas de segurança de acesso de código e no prompt de confiança clickOnce.
Certificados
Os certificados Authenticode são usados para verificar a autenticidade do publicador do aplicativo. Usando o Authenticode para implantação de aplicativos, o ClickOnce ajuda a impedir que um programa prejudicial se retrate como um programa legítimo proveniente de uma fonte estabelecida e confiável. Opcionalmente, os certificados também podem ser usados para assinar o aplicativo e manifestos de 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 cliente para ter uma lista de editores confiáveis. Se um aplicativo vem de um editor confiável, ele pode ser instalado sem qualquer interação do usuário. Para obter mais informações, confira 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 intranet local para limitar as permissões. Use a página de Segurança no Designer de Projeto para solicitar a zona apropriada para o aplicativo. 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 de código para aplicativos ClickOnce.
Nota
No ClickOnce para .NET Core e .NET 5 ou posterior, esse recurso não tem suporte. Para obter mais informações, confira ClickOnce para .NET.
Prompt de confiança do 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 aplicativos ClickOnce, como aplicativos do Windows Forms, aplicativos do Windows Presentation Foundation, aplicativos de console, aplicativos do navegador XAML e soluções do Office são confiáveis para serem executados. 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 do ClickOnce principal baseia-se 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 são atualizados.
Publicar aplicativos ClickOnce
O manifesto do aplicativo descreve o próprio aplicativo. Isso inclui as assembléias, 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 de aplicativos cria o manifesto do aplicativo usando o Assistente de Publicação no Visual Studio (ferramenta Publicar para .NET Core e .NET 5+) ou a Ferramenta de Geração e Edição de Manifesto (Mage.exe) no SDK (Kit de Desenvolvimento de Software do Windows). Para obter mais informações, consulte:
Implante um aplicativo de área de trabalho do .NET usando o ClickOnce
Distribuir um aplicativo de área de trabalho do .NET Framework usando ClickOnce.
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.
Nota
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.
Implantar aplicativos ClickOnce
Depois de criado, o manifesto de implantação é copiado para o local da implantação. Isso pode ser um servidor Web, um compartilhamento de arquivos de rede ou uma 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 da 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, o usuário final recebe uma caixa de diálogo simples solicitando que o usuário confirme a instalação, após a qual a instalação continua e o aplicativo é iniciado sem intervenção adicional. Nos casos em que o aplicativo requer permissões elevadas ou se o aplicativo não for assinado por um certificado confiável, a caixa de diálogo também solicitará 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 poderá 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 do computador ou da empresa, de modo 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 aplicativo confiável.
O aplicativo pode ser adicionado ao Menu Iniciar do 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 instalação
Nota
Também é possível impedir que o aplicativo seja adicionado ao menu Iniciar e ao grupo Adicionar ou Remover Programas, fazendo com que ele se comporte como um aplicativo web. Para obter mais informações, consulte Escolher 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ão para a pasta de implantação de aplicativo original. O administrador atualiza o manifesto de implantação para apontar para o local da nova versão do aplicativo.
Nota
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) em que o aplicativo verifica se há versões atualizadas. As propriedades Publicar do ClickOnce 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 de usuário na interface do usuário do aplicativo por meio das APIs ClickOnce. Além disso, as propriedades Publish podem ser empregadas para tornar as atualizações obrigatórias ou para a reversão para uma versão anterior. Para obter mais informações, confira Escolhendo uma estratégia de atualização do ClickOnce.
Instaladores de terceiros
Você pode personalizar o instalador do ClickOnce para instalar componentes de terceiros junto com seu aplicativo. Você deve ter o pacote redistribuível (.exe ou .msi) e descrever o pacote com um manifesto de produto neutro em idioma e um manifesto de pacote específico do idioma. Para obter mais informações, confira Criar pacotes de inicialização.
Ferramentas clickOnce
A tabela a seguir mostra as ferramentas que você pode usar para gerar, editar, assinar e assinar novamente os manifestos de aplicativo e implantação. Para .NET Core e .NET 5+, opções semelhantes aos atributos do MSBuild são definidas usando o perfil Publicar.
Ferramenta | Descrição |
---|---|
Página Segurança, Designer de Projeto | Assina os manifestos de aplicação e implantação. Para .NET Core e .NET 5+, essas configurações estão no perfil Publicar. |
Página de Publicação, Designer de Projeto | 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 Publicar. |
Mage.exe (Ferramenta de Geração e Edição de Manifesto) | Gera os manifestos de aplicativo e implantação para aplicativos Visual Basic, Visual C#e Visual C++. Assina e assina novamente os manifestos de aplicativo e de implantação. Pode ser executado em scripts de lote e no prompt de comando. |
dotnetmage.exe (Ferramenta de Geração e Edição de Manifesto) | Gera os manifestos de aplicativo e implantação para aplicativos .NET 5+ C# e Visual Basic. O uso é equivalente a Mage.exe. Assina e assina novamente os manifestos de aplicativo e de implantação. Pode ser executado em scripts de lote e no prompt de comando. |
MageUI.exe (Ferramenta de Geração e Edição de Manifesto, Cliente Gráfico) | Gera e edita os manifestos de aplicativo e implantação. Assina e assina novamente os manifestos de aplicativo e de implantação. |
Tarefa GenerateApplicationManifest | Gera o manifesto do aplicativo. Pode ser executado no MSBuild. Para mais informações, consulte a referência de MSBuild . |
Tarefa GenerateDeploymentManifest | Gera um manifesto de implantação. Pode ser executado no MSBuild. Para obter mais informações, confira veja Referência do MSBuild. |
Tarefa SignFile | Assinar os manifestos de aplicativo e implantação. Pode ser executado no MSBuild. Para obter mais informações, confira veja Referência do MSBuild. |
Microsoft.Build.Tasks.Deployment.ManifestUtilities | Desenvolva seu próprio aplicativo para gerar os manifestos de aplicativo e implantação. |
A tabela a seguir mostra a versão do .NET Framework necessária para dar suporte a aplicativos ClickOnce nesses navegadores.
Navegador | Versão do .NET Framework |
---|---|
Firefox | 2.0 SP1, 3.5 SP1, 4 |
Chrome | 3.5 |
Microsoft Edge | 3.5 |