.NET

14 set, 2010

ClickOnce no Visual Studio 2010

Publicidade

Olá, pessoal, aqui estou eu para mostrar como a Microsoft
sempre tem uma simples e eficaz solução para aquele problema que parece
impossível de resolver.

Vamos ao nosso cenário:

Imagine que você desenvolveu uma aplicação Windows Forms em
.net (vb ou c#) e por necessidade de um cliente você precisa que essa aplicação
rode na web. O cliente não deseja mais ficar instalando seu software em cada
máquina nova que ele compra e talvez a mesma aplicação em ambiente web possa
ser mais útil para ele.

Nada mais justo, não é mesmo?

Mas antes de por a mão na massa, você deve fazer algumas
perguntas:

  • Será que vale a pena reescrever minha aplicação
    desktop para web?
  • O cliente aceitará o custo de uma migração como
    essa?
  • Tenho conhecimento suficiente para migrar o
    sistema e realizar futuras alterações?

Bem, se para algumas dessas perguntas a resposta foi não, então
você está no artigo certo. Vamos conhecer agora uma maneira simples, prática e
eficaz de disponibilizar aplicativos Windows Forms na internet. O Click Once.

Segundo a própria Microsoft, Click Once é:

Uma
tecnologia de implantação que permite que você crie aplicativos
AutoAtualizáveis baseados em baseado no Windows que podem ser instalados e
executados com mínima interação do usuário.

 Para mais informações: http://msdn.microsoft.com/pt-br/library/142dbbz4(VS.90).aspx

 Mas vamos ver a coisa na prática.

Primeiro, vamos abrir o Visual Studio 2010 e criar uma
aplicação Windows Forms, fique à vontade para escolher a linguagem de sua
preferência.

  • File->New->Project->Windows
    Forms Application
  • Dei o nome do nosso projeto de ClickOnceTeste

Vamos adicionar um botão no
nosso formulário.

No evento Click do nosso botão, vamos adicionar um
MessageBox.

Depois de salvo e compilado, temos o seguinte resultado:

Pronto, agora que temos nossa aplicação Windows Form,
vamos ver a magia entrar em ação!

Antes de mais nada, é preciso que você instale o IIS no
seu Windows, ele é um servidor web semelhante ao Apache e já vem no Windows. Você precisa apenas ativá-lo e pronto, já está
instalado. Caso você não saiba instalar, acesse este link.

Depois de instalado, o IIS cria o diretório C:\inetpub e as nossas aplicações web que rodam com
servidor IIS ficam na pasta C:\inetpub\wwwroot. É lá no wwwroot que nossa aplicação irá ficar; acesse essa pasta e crie um diretório chamado Teste para que nosso projeto
possa ser exportado para essa pasta.

Voltando para o nosso projeto no Visual Studio 2010,
clique com o botão direito sobre ele e escolha opção properties e, no menu lateral,
escolha a opção Publish.

Iremos encontrar a seguinte tela:

Bem, estamos no último passo de publicar nossa aplicação
Windows Forms na web. Mas, antes, algumas informações importantes:

  1. Publishing
    Folder Location
    : Aqui você vai informar onde sua aplicação está hospedada, no
    nosso caso estamos rodando-a localmente, por isso o endereço localhost foi
    informado.
  2. Application
    Files:
    Caso sua aplicação precise de alguma DLL, imagem ou outro tipo de arquivo,
    ele deve ser referenciado utilizando esse botão. Caso esses arquivos já estejam
    no seu projeto, eles são adicionados automaticamente, mas você pode removê-los
    se quiser.
  3. Pre-requisites:
    Nesse botão você vai informar quais são os pré-requisitos que sua aplicação
    precisa para rodar. Como por exemplo a versão do .net framework.
  4. Updates:
    Nesse botão você vai informar qual o intervalo de tempo em que sua aplicação é
    atualizada e de onde essa atualização poderá ser baixada, ou seja, ao acessar o
    sistema, ele mesmo detecta que existe uma versão mais recente no servidor e a
    atualização é realizada automaticamente.
  5. Options:
    Opções gerais de publicação

Esse
ponto é muito importante, caso você escolha a opção “The application is
available online only”, ao ser executado no browser, ele não poderá ser baixado
para máquina do usuário que está utilizando o sistema. Escolhendo a outra
opção, o usuário terá a opção de baixar a aplicação e instalar a mesma no seu
Windows.

O
Publish Version são as versões que seu sistema está gerando, elas são
incrementadas automaticamente, mas você mesmo pode definir o seu padrão de
número de versões.

Sabendo
isto, é só clicar em Publish Now e
pronto.

Vamos para o diretório C:\inetpub\wwwroot\Teste e temos
os seguintes arquivos criados: 

O arquivo ClickOnceTeste.application é que será acessado
pelo navegador. 

Para podermos testar nossa aplicação, abra o Internet
Explorer e digite:

http://localhost/teste/clickonceteste.application

Você verá seguinte tela:

Logo após surgirá uma tela onde o usuário escolherá se
quer ou não executar a aplicação. Vamos escolher a opção Run.

E pronto, a aplicação é executada no seu computador.

Vale salientar que a partir desse momento você pode
fechar o navegador e utilizar a aplicação normalmente. Isso é possível porque a
aplicação foi baixada para a sua máquina para que você possa utilizá-la.

Considerações finais

  • Pontos positivos
  1. Facilidade
    na migração de uma aplicação Windows Form para uma aplicação web
  2. Atualizações
    automáticas
  3. Não
    há mais a necessidade de a aplicação ficar instalada em uma determinada máquina,
    já que ela pode ser acessada de qualquer computador que possua Windows e
    internet
  4. Para
    sistemas onde os usuários já estão habituados com o estilo desktop, é uma boa
    alternativa para aqueles usuários que precisam acessar a aplicação de outros
    lugares além da sua estação de trabalho
  • Pontos negativos
  1. As
    aplicações rodam apenas em Windows
  2. Seu
    clickonce só funcionará se for executado pelo Internet Explorer. Já existe um
    add para o Firefox, mas, ainda não cheguei a testá-lo

Bem, pessoal, esse foi um exemplo simples e serve para dar
aquele start que às vezes nós precisamos.

No próximo artigo vou mostrar como fazer uma aplicação
para Windows Phone 7, utilizando Visual Studio 2010, Silverlight, Linq, XML e
WCF.

Obrigado e até a próxima.