.NET - Usando a tecnologia ClickOnce para distribuir aplicações


Este artigo explora o novo recurso oferecido pela plataforma .NET  chamado ClickOnce.

O ClickOnce é a nova tecnologia de implantação e atualização de aplicações Windows que apresenta recursos formidáveis que têm como objetivo simplificar a implantação e a atualização de aplicativos Windows .da Web para aplicativos cliente.

Pois bem , a partir do Visual Studio 2012 a Microsoft não mais fornece uma opção para criação de um pacote de distribuição da aplicação e portanto esta opção de projeto não existe mais nas versões do Visual Studio 2012.

E agora ?

A Microsoft recomenda a utilização do InstallShield Limited Edition for Visual Studio em substituição à opção Deployment and Setup Project ainda existente no Visual Studio 2010.

Basta você acessar o link e baixar e registrar a versão InstallShield Limited Edition for Visual Studio para poder gerar o seu pacote de instalação.

Esta opção serve para gerar um pacote de instalação padrão e para um setup simples. Se esse não for o seu caso você e você precisar gerar um pacote de instalação mais complexo você terá que avaliar outra opção mais robusta.

Uma opção que você pode considerar é o Windows Installer XML (WIX).

Veja o curso completo : VB .NET  - ADO .NET Prático (Curso)

A tecnologia ClickOnce veio para acabar de vez com a discussão sobre as vantagens que o deploy das aplicações Web tinham sobre as aplicações desktop (WinForms) visto que aquelas podiam ser distribuídas pela Web enquanto que as aplicações Windows ficavam limitadas ao deploy local com atualizações on-line que exigiam um trabalho extra do programador.

O ClickOnce faz justamente isto : Permite a você distribuir de forma inteligente aplicações Windows via Internet, de forma que você pode instalar e atualizar sua aplicação Windows a partir de uma página Web com apenas um clique em um link.

A primeira coisa que vou fazer é dar uma visão geral sobre o novo recurso, então siga-me...(Eu vou usar o Visual Basic 2005 Express neste artigo, mas você pode usar o Visual Studio 2005 da mesma forma.)

1- Criando e instalando uma aplicação Windows

Você resolveu criar uma aplicação usando o ClickOnce de forma que o cliente que comprar o seu produto poderá instalá-lo na sua máquina local a partir da web.

1- Inicie o VB 2005 e crie um novo projeto chamado usandoClickOnce.

2- No formulário padrão form1.vb inclua um botão de comando - button1 - e no seu evento Click inclua o seguinte código:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

MessageBox.Show("Testando o novo recurso : ClickOnce...", "ClickOnce", MessageBoxButtons.OK, MessageBoxIcon.Information)

End Sub

 

Esta aplicação , quando executada, apenas exibe a mensagem : "Testando o novo recurso : ClickOnce..." quando o usuário clicar no botão de comando - button1.

Podemos Compilar e executar a aplicação pois temos uma aplicação Windows comum. Vamos agora incluir o recurso ClickOnce...

3- Agora clique com o botão direito do mouse sobre o projeto na janela Solution Explorer. (1)

4- Em seguida selecione a opção Properties do menu suspenso. (2)

Nota:

Podemos ativar o recurso através do Menu Build selecionando a opção Publish usandoClickOnce , conforme a figura ao lado.

 

Usando qualquer uma das opções acima o Assistente de publicação será ativado e exibido na tela.

 

5- A janela do assistente de publicação solicita a informação do local onde você deseja publicar a  aplicação. Selecione a opção mais indicada para o seu caso. No exemplo eu escolhi a localização http://localhost/usandoClickOnce/ na minha máquina local.

6- Na próxima janela do assistente você tem a opção de selecionar se a aplicação ai rodar on-line ou off-line.

Vou escolher a primeira opção de forma a poder rodar a aplicação tanto on-line como off-line.

7- A última janela podemos encerrar a publicação clicando no botão Finish para que o assistente publique a aplicação no local selecionado.

Nota: Como não assinamos a nossa aplicação o assistente irá automaticamente assinar a aplicação e publicá-la no web site.

8- Depois de publicar a aplicação uma janela do Internet Explorer será exibida com um link para a aplicação conforme figura abaixo:

9 - Se você clicar no botão Install  a instalação da aplicação será disparada conforme figura abaixo:

10- A seguir a janela abaixo será exibida. Para saber mais detalhes sobre a aplicação que esta sendo instalada clique no link : More Information...

11- A janela - More Information - exibindo mais detalhes sobre a aplicação que estamos instalando. Clique no botão Close.

12 -Finalmente para instalar a aplicação clique no botão Install e a aplicação será instalada na máquina cliente e será executada automaticamente.

Abaixo temos a figura 1.0 mostrando a tela final de instalação e a figura 2.0 as telas da execução da aplicação:

Figura 1.0 Figura 2.0

Pronto ! Basta você disponibilizar para o cliente o link para a página de deploy gerado que ele irá poder instalar a aplicação na sua máquina local.

2- Atualizando a aplicação Windows via Web

Vamos agora mostrar como podemos atualizar a aplicação Windows que foi publicada no item anterior.

Vamos supor que você vendeu uma aplicação a um cliente que fez a instalação, como mostrado acima, e, que agora houve uma atualização da aplicação. Você vai usar o ClickOnce para disponibilizar a atualização para o cliente via Web de forma que a próxima vez que ele  executar a aplicação a mesma será feita automaticamente.

Vamos voltar ao IDE do Visual Basic 2005 e alterar alguma coisa na nossa aplicação para podermos testar o ClickOnce.

Eu alterei a cor de fundo do formulário e do botão de comando. Alterei também o tamanho da fonte e seu formato para Negrito,

A nossa aplicação ficou então a aparência da figura ao lado.

Por fim podemos compilar usando a opção Build usandoClickOnce do menu Build

Selecione novamente a opção Publish usandoClickOnce do menu Build.

Novamente a janela do assistente irá surgir como anteriormente. Clique então na opção Finish para assumir os valores já definidos na publicação anterior. Não faça mais nada e feche todas as janelas do Internet Explorer que estiverem abertas.

Lembre-se que nesta etapa dois , a da atualização , tudo se passa como se você estivesse publicando uma nova versão da aplicação de forma que quando o cliente for executar a versão anterior que ele possui na sua máquina o .NET Framework, usando a tecnologia ClickOnce irá verificar se há uma nova versão disponível no servidor web e irá efetuar a atualização da aplicação.

Para testar esta etapa feche todas a janelas do Windows, clique em Iniciar ->Todos os Programas ->JcmSoft->usandoClickOnce

Nota: naturalmente o caminho e nome dos atalhos poderá ser diferente para a sua máquina local

A janela abaixo será exibida indicando ao usuário que existe uma atualização da versão da aplicação disponível para download. Clique em OK para efetuar a atualização.

A aplicação será atualizada e executada automaticamente. Na figura abaixo temos as telas da execução da aplicação mostrando a nova versão:

Você entendeu o que aconteceu até este momento ?  Percebeu o recurso poderoso que você tem a disposição usando o novo Visual Basic .NET (que é grátis)  Vou resumir:

1- Você pode disponibilizar ao seu cliente a instalação da aplicação  Windows via Internet

2- Você pode disponibilizar atualizações automáticas de versões da mesma aplicação via Web

3- Você pode retornar à versão anterior se houver qualquer problema (veremos isto logo a seguir)

Tudo isto usando o recurso ClickOnce.

3- Retornando a versão Anterior

Vamos supor que por qualquer motivo na nova versão que você disponibilizou havia um bug e que o cliente deverá retornar a versão anterior.

Como fazer isto ?  Elementar meu caro...

Para estes casos o cliente tem a opção de reverter a atualização e retornar a versão anterior.  Basta entrar no Painel de controle e selecionar a opção Adicionar ou Remover Programas (Ou executar o programa appwiz.cpl a partir do menu Iniciar->Executar)

Na janela - Adicionar ou remover Programas - selecione o programa desejado e clique em : Alterar/Remover

A janela abaixo será exibida mostrando a opção para restaurar a versão anterior da aplicação, que é o que desejamos fazer.

Selecionando a primeira opção a versão anterior da aplicação será restaurada conforme indica a janela abaixo. Basta executar novamente a aplicação para verificar.

Pronto ! Você aprendeu como pode implantar, atualizar e restaurar uma versão anterior de sua aplicação Windows via Internet usando a tecnologia ClickOnce disponível na nova versão da plataforma .NET.

Existem muito mais a explorar sobre a tecnologia ClickOnce, mas devido ao tempo e a grande quantidade de telas vou parando por aqui.

Aguarde em breve novos artigos mostrando como podemos definir as configurações para o ClickOnce.

Até mais ver ...

Veja os Destaques e novidades do SUPER DVD Visual Basic  (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Veja mais sistemas completos para a plataforma .NET no Super DVD .NET , confira...

Quer aprender C# ??

Chegou o Super DVD C#  com exclusivo material de suporte e vídeo aulas com curso básico sobre C#.

Veja também os Cursos com vídeo aulas e projetos exemplos:

 

    Gostou ?   Compartilhe no Facebook   Compartilhe no Twitter

Referências:


José Carlos Macoratti