Desenvolvimento - Visual Basic .NET

Setup Applications

Este artigo é o resultado de uma pesquisa do Marcos sobre a criação de instalador de aplicações Windows Forms, para .NET, através do Visual Studio. O artigo traz um passo-a-passo para a criação de seu instalador.

por Everton Coimbra de Araújo



Este é mais um artigo que submeto ao Linha de Código, dando sequência a uma série de material, resultado obtido através de pesquisas e laboratórios com meus alunos da UTFPR, campus Medianeira. Reforço o empenho e dedicação destes alunos, que foi extremamente comprometido com a pesquisa e aprendizado durante os semestres que mantivemos contato próximo nas disciplinas que a eles eu ministrava. Isso me motivou muito e fazer com que o resultado dos trabalhos deles aparecesse para o mundo e, nada melhor do que o Linha de Código para isso.

Neste artigo apresento o Marcos Roberto Bertuol, que pode ser contactado pelo email gjzero@gmail.com O Marcos foi meu aluno em algumas disciplinas de sua graduação e tem uma grande experiência no desenvolvimento de aplicações WEB com PHP. Desta forma, estejam a vontade em solicitar o curriculum dele.

Este artigo é o resultado de uma pesquisa do Marcos sobre a criação de instalador de aplicações Windows Forms, para .NET, através do Visual Studio. O artigo traz um passo-a-passo para a criação de seu instalador.







Introdução

Quando se desenvolve aplicações Windows Forms é interessante a criação de um instalador para sua aplicação. É possível encontrar alguns aplicativos prontos que fazem tudo automaticamente, porém, o próprio Visual Studio oferece ferramentas para que o desenvolvimento fique todo centralizado nele.

Usar o "Setup Project" do Visual Studio pode ser uma boa solução para uma aplicação Windows, visto que o instalador irá descobrir quais as dependências da aplicação e as incluirá automaticamente.

Criando o Projeto

Após a criação de um Setup Project, o resultado é um arquivo *.msi, o qual instalará o(s) arquivo(s) da aplicação, e adicionará um atalho à Área de Trabalho e outro ao menu de Programas. A opção Setup Project se encontra em Other Project Types?Setup and Deployment e a janela exibida é semelhante à apresentada pela Figura 1.


Figura 1 - New Project

Criado o projeto, é importante alterar o nome do Produto ao qual se está pretendendo criar o instalador. Isso pode ser feito através da propriedade Product Name. Selecione a aplicação criada no Solution Explorer e acesse a Properties Window para obter acesso a esta propriedade, que pode ser verificada na Figura 2.


Figura 2 - Alterando o Product Name

Mais tarde poderemos ver o efeito desta mudança. Agora clique na pasta Application Folder com o botão direito do mouse e acesse em Add/File. Aqui adicionaremos os arquivos da aplicação para a qual se está criando o instalador. Sempre que alterarmos os arquivos adicionados será preciso compilar novamente o projeto instalador.

Ainda nesta pasta, tem-se a propriedade DefaultLocation (relativa ao local padrão da instalação) que estará em: [ProgramFilesFolder][Manufacturer]\[ProductName]. Se for de preferência, é possível mudar isto. A opção que vem por padrão é uma sugestão interessante, visto que as propriedades [Manufacturer] e [ProductName] podem ser alteradas conforme desejar. Logo, a aplicação será instalada na pasta Arquivos de Programas (Program Files).

Para o exemplo aqui trabalhado, é criada uma aplicação simples no Visual Studio através de Windows Forms, e, quando adicionado o executável ao Setup Project, repare no Solution Explorer que ele já reconhece a dependência do Microsoft .NET Framework para executar a aplicação. Não se assuste, se trata apenas de um pacote que inclui tudo que é necessário para executar aplicações desenvolvidas utilizando o framework .NET. É importante citar que o instalador não conseguirá instalar a aplicação .NET sem o Framework.

Agora vamos configurar para que o instalador crie automaticamente um atalho para a aplicação à Área de Trabalho. Primeiro, clique na pasta User"s Desktop e então, dentro da pasta, clique com o botão direito e selecione a opção Create New Shortcut, como mostra a Figura 3.


Figura 3 - New Shortcut

Poderá ser notada uma caixa de diálogo para selecionar a aplicação que se quer adicionar o atalho, como mostra a Figura 4. Vá até a pasta Application Folder e selecione o arquivo que foi adicionado anteriormente.


Figura 4 - Arquivo do atalho

Ao clicar na pasta User"s Desktop é possível notar algumas propriedades interessantes na janela Properties. É interessante neste momento adicionar uma condição que verifica se o atalho já existe.

"Este é um exemplo do que se pode fazer com um pequeno código no projeto instalador. Mude a propriedade Always Create para true (ele irá criar o ícone sempre que a condição for verdadeira). Após isso, é preciso adicionar uma condição para que o instalador não multiplique os atalhos a cada nova versão da aplicação. É preciso então configurar a propriedade Transitive para true e adicionar na propriedade Condition o seguinte trecho de código: FILEEXISTS1<>"Shortcut to WFASetupApplication.exe", onde o que está dentro das aspas precisar ser exatamente o mesmo nome do atalho [1]". A expressão FILEEXISTS1<>"nome" vai verificar se já não existe um ícone com o mesmo nome. Verifique a Figura 5.


Figura 5 - Condição

Para adicionar o ícone da sua aplicação ao atalho criado é preciso adicionar o ícone na pasta Application Folder através da opção Add/Item. Feito isso, vá até o atalho na pasta User"s Desktop e selecione-o. Na janela Properties veremos a propriedade Icon, clique na seta e selecione opção Browse. Na caixa de diálogo que irá abrir, clique novamente em browse, vá até a pasta Application Folder e selecione o ícone que acabou de adicionar.

Para atalhos no menu Programas, vá até a pasta User"s Program Menu, clique com o botão direito e selecione a opção Add/Folder. Renomeie-a com o nome que quiser (lembrando que este é o nome da pasta que aparecerá no menu Programas), como apresentado pela Figura 6. Então, clique na nova pasta adicionada e adicione o atalho do mesmo modo como foi apresentado no passo anterior.


Figura 6 - Program Menu

Quando for preciso criar um novo instalador para a próxima versão da sua aplicação, basta ir até as propriedades do Setup Project e mudar a propriedade Version antes de recompilar o projeto instalador, como pode ser visto na Figura 7.


Figura 7 - Version

Uma vez alterada a propriedade Version, quando sair dela receberá uma mensagem prompt que lhe recomenda a alteração da propriedade ProductCode. Se não clicar em Yes, terá que fazer isso manualmente para que o instalador remova a aplicação antiga e instale a nova.

Cuidado para não alterar a propriedade UpgradeCode. Se você o fizer, o usuário da aplicação terá que remover o programa antigo manualmente antes que a nova versão seja instalada.

Outra coisa interessante sobre o Setup Project do Visual Studio é que ele adiciona automaticamente a sua aplicação Windows para o Adicionar/Remover Programas. Então, uma vez instalado, você pode ir até o Adicionar e Remover Programas e remover a aplicação, e ele limparã todos os arquivos e pastas que foram criados.

Testando o Projeto

Abaixo seguem alguns screens com o resultado final do nosso instalador:


Figura 8 - Principal

Repare, na figura 8, que o título da aplicação é o resultado da propriedade "Product Name" do nosso projeto.


Figura 9 - Opções para instalação

Na Figura 9 tem-se opções interessantes, como a oportunidade de selecionar se quer instalar a aplicação apenas para o usuário ativo ou para todos que usam o computador. No passo seguinte ele apenas irá confirmar se deseja mesmo instalar a aplicação. Ao clicar em Next, irá iniciar a instalação e uma barra de progresso será exibida. Após o término, irá ver uma confirmação de que a aplicação foi instalada com sucesso. Se verificar em seu Desktop, ele agora possui o atalho criado com o ícone que selecionou. O mesmo para o menu Programas, como mostrado na Figura 10.


Figura 10 - Menu Programas

Conclusão

Utilizar um Setup Project do VS pode ser uma boa opção para quem precisa de um instalador para sua aplicação, visto a facilidade e quantidade de opções que este tipo de projeto fornece ao desenvolvedor. Muito útil e fácil, pode ser uma das melhores soluções para quem quer uma instalação prática e eficiente para seu programa.

Referências

Artigos Técnicos, MAS. http://www.mas.com.br/Artigos/ProjSetup.htm

[1] - Trecho traduzido de: Visual Studio Windows Application Setup Project, CodeProject. http://www.codeproject.com/KB/dotnet/Win_App_Setup_Project.aspx?msg=3011803
Everton Coimbra de Araújo

Everton Coimbra de Araújo - Desde 1987 atua na área de treinamento e desenvolvimento. Como Mestre em Ciência da Computação, é professor da UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ, Campus Medianeira, onde leciona disciplinas relacionadas ao desenvolvimento de aplicações web, com Java e .NET.

É autor dos livros Desenvolvimento para WEB com Java, Orientação a Objetos com Java - Simples, Fácil e Eficiente, Algoritmo - Fundamento e Prática em sua terceira edição e dos livros Delphi - Implementação e Técnicas para Ambientes Virtuais e C++ Builder - Implementação e Técnicas para Ambientes Virtuais. Todos pela VisualBooks. Pode ser contactado através do e-mail everton@utfpr.edu.br ou evertoncoimbra@gmail.com.