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újoEste é 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
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
- Entity Framework 4: Repositório GenéricoVisual Basic .NET
- As edições 14 da Easy .net Magazine e 88 da .net Magazine já estão disponíveis.ADO.NET
- Postando no Twiiter com .NET e Migre.meC#
- Problemas na manipulação de arquivos do MS Excel com .NETVisual Basic .NET
- MP3 player com DirectXVisual Basic .NET