**Introdução**
Existem várias maneiras que a Microsoft oferece para criar um projeto de instalação para aplicações do Windows. Mas, quando comecei a criar um, só tive perguntas e confusões sobre como começar e por onde iniciar. Encontrei inúmeros artigos explicando como criar um projeto de instalação, mas alguns não funcionaram e outros não tinham um exemplo prático para seguir.
A força motriz para eu escrever este artigo é a minha equipe de desenvolvimento, que aceita a aplicação principal para testes e que também verificou o instalador de instalação com 100% de esforço. E adivinha, eles também encontraram erros nisso.
Neste artigo, gostaria de explicar um processo passo a passo para criar uma aplicação PERFEX CRM para Windows e um instalador de instalação da mesma de uma maneira muito simples, que seja fácil de entender e seguir, sabendo que existem várias outras maneiras de fazer a mesma coisa. Você deve ter conhecimento em VISUAL STUDIO.
**Começando**
Primeiro, vamos criar uma aplicação simples para Windows, com apenas uma caixa de texto e um botão.
Criar uma aplicação para Windows é apenas para ter uma para instalar. Eu dei o nome de CreatingInstaller para minha aplicação para Windows, mas você pode escolher o seu próprio. Adicionando uma nova Aplicação Windows na minha solução e adicionando uma caixa de texto e um botão ao formulário padrão resultou na figura mostrada abaixo. Decore as propriedades do controle como desejar.
Queria escrever algumas linhas de código, então vinculei o evento de clique do botão para mostrar o texto da caixa de texto.
**Objetivo Principal**
Até agora tudo bem. Agora vamos criar um instalador para a mesma aplicação para Windows. Clique com o botão direito na solução e adicione um novo projeto à sua solução, como na figura a seguir:
E adicione um projeto de instalação em Outros Tipos de Projeto -> Instalação e Implantação -> Instalador do Visual Studio. O projeto será adicionado à solução. Agora abra o editor de sistema de arquivos clicando no projeto e selecionando a opção para abrir o editor de sistema de arquivos, como na figura abaixo:
Você verá a Pasta do Aplicativo, Área de Trabalho do Usuário e Menu de Programas do Usuário.
Clique com o botão direito na Pasta do Aplicativo e adicione um projeto de saída. O projeto de saída especifica o projeto para o qual estamos criando um instalador, como na figura a seguir:
Selecione CreatingInstaller (ou seja, o nome do projeto da aplicação para Windows) na janela de adicionar projeto de saída e selecione-o como saída principal, como mostrado abaixo, e clique em OK. A saída principal será adicionada, como mostrado abaixo, com o tipo definido como Saída.
Enquanto isso, vamos adicionar mais funcionalidade à nossa aplicação para Windows. Vamos ler um arquivo e mostrar seu conteúdo em uma caixa de mensagem ao clicar em um botão. Portanto, adicione um arquivo de texto. Eu o chamei de Sample.txt à pasta bin\debug\Input, "Input" é a pasta personalizada que criei para colocar meu arquivo txt.
Escreva algumas linhas de código apenas para ler o arquivo txt do caminho de inicialização. No meu caso, bin\debug, poderia também ser bin\release, conforme a compilação do projeto, e especifique o nome da pasta do arquivo e o nome do arquivo para ler o conteúdo. Escolhi manter meu arquivo txt no caminho de inicialização para explicar como podemos criar arquivos e pastas no momento da instalação. Agora, também precisamos dessa pasta Input e de um arquivo Sample.txt no momento da instalação, localizados no local da aplicação instalada.
Para operações de arquivo, adicionei o namespace System.IO, embora não seja necessário fazê-lo.
Portanto, executar a aplicação mostrará duas caixas de mensagem, uma após a outra, mostrando o texto da caixa de texto e o texto do arquivo Sample.txt.
Agora, essa lógica de criação de pasta deve ser implementada em nosso projeto de instalação, para que, quando a aplicação for instalada, tenha todos os pré-requisitos necessários para executar a aplicação, como a pasta Input e o arquivo Sample.txt.
Assim, clique com o botão direito na Pasta do Aplicativo no editor de sistema de arquivos e adicione uma pasta. A pasta será criada logo abaixo da Pasta do Aplicativo, nomeie essa pasta de Input.
Clique com o botão direito na pasta, selecione propriedades e marque a propriedade Always Create como True. Isso significa que a pasta sempre será criada sempre que executarmos o instalador, após uma nova versão de compilação.
**Criar Atalhos**
Você pode decorar seu formulário para adicionar um ícone a ele, e esse ícone também será necessário no momento da instalação para criar um ícone de atalho para nossa aplicação. Adicione um ícone ao formulário, como na figura mencionada abaixo:
Agora é hora de adicionar o arquivo Sample.txt. Clique com o botão direito na pasta Input criada e Adicione um arquivo a ela, procure pelo arquivo Sample.txt no projeto da Aplicação Windows que criamos anteriormente.
Para criar um atalho para a aplicação, clique com o botão direito na saída principal no painel da janela do meio e selecione Criar atalho para a saída principal, nomeie esse atalho como CreatingInstaller.
Selecione as propriedades do atalho, clicando com o botão direito e adicione um ícone a ele. Este ícone será criado na área de trabalho quando a aplicação for lançada. As figuras abaixo explicam como adicionar um ícone.
Corte o atalho criado na Pasta do Aplicativo e cole-o na Pasta da Área de Trabalho do Usuário.
Para que os atalhos sejam criados no Menu de Programas do Usuário, adicione uma nova pasta ao Menu de Programas do Usuário. Isso será criado na localização do menu de programas nessa pasta. Crie um novo atalho apontando para a saída principal, como fizemos quando criamos um atalho para a área de trabalho. As três imagens abaixo descrevem o processo:
Nomeie a pasta de CreatingInstaller.
Clique com o botão direito no painel da janela do meio para criar um novo atalho.
Selecione a fonte do atalho para a saída principal selecionada.
Adicione também um ícone ao atalho, como feito para o atalho da área de trabalho.
Clique com o botão direito na Pasta do Aplicativo para definir as propriedades de onde instalar a aplicação.
**Desinstalar**
Sempre temos a opção de desinstalar a aplicação da lista de Programas e Recursos do painel de controle, mas que tal criar nosso próprio desinstalador? Isso também está sob o menu de programas, então não precisamos perturbar o painel de controle.
**Passo 1**
Clique com o botão direito no Sistema de Arquivos na Máquina de Destino e Adicione Pasta Especial -> Pasta do Sistema, como mostrado na figura abaixo.
**Passo 2**
Clique com o botão direito na nova pasta do sistema criada e navegue até o arquivo msiexec.exe na pasta local System.Windows32. Este arquivo é responsável por instalar e desinstalar a aplicação com base em certos parâmetros especificados.
Defina as propriedades do arquivo exatamente como mostrado na figura:
**Passo 3**
Agora crie um novo atalho sob o Menu de Programas do Usuário e aponte sua fonte para msiexec, como mostrado abaixo. Você pode adicionar mais ícones e um nome ao seu atalho. Eu dei a ele o nome "Uninstall".
**Passo 4**
Pressione a tecla F4 selecionando o projeto de instalação. Veremos uma lista de propriedades, que podemos personalizar conforme nossas necessidades de instalação, como Nome do Produto, Autor, Local de Instalação. Não vou entrar em uma discussão profunda sobre tudo isso, pois é bastante fácil de entender e definir.
Apenas tome nota do código do produto mostrado abaixo na lista de propriedades. Precisaremos do código do produto como parâmetro para o msiexec para desinstalação.
**Passo 5**
Clique com o botão direito no atalho de desinstalação e defina a propriedade de argumentos como mostrado na figura abaixo:
```
/x {código do produto} /qr
```
/x é para desinstalação.
Você pode obter a lista detalhada de parâmetros e seu uso em http://technet.microsoft.com/en-us/library/cc759262(v=ws.10).aspx. Escolha o que você preferir.
**Passo 6**
Salve tudo e reconstrua o projeto de instalação.
**Trabalho Concluído!**
Agora nosso instalador está pronto para instalar nossa aplicação para Windows. Basta navegar até o local da pasta de depuração do projeto de instalação. Encontramos um msi e um setup.exe. Você pode executar qualquer um deles para iniciar a instalação.
Quando começamos, vimos um assistente de instalação com telas que deram as boas-vindas ao usuário, perguntaram o local para instalar (enquanto o local padrão já estava definido).
Após completar o assistente, clique no botão de fechar.
Agora que o trabalho está concluído, podemos ver nossos atalhos para a aplicação criados na área de trabalho e no Menu de Programas do Usuário, como mostrado na figura abaixo.
Agora, se navegarmos até o local de instalação, também podemos ver a pasta Input criada e o arquivo Sample.txt dentro dela.
Execute a aplicação e veja a saída.
Clique em desinstalar para remover a aplicação. O assistente será iniciado, como mostrado abaixo:
**Ações Personalizadas**
Quero apenas dar uma visão geral das Ações Personalizadas que podemos definir ao criar o instalador.
Ações personalizadas são ações que contêm funcionalidades personalizadas além da padrão no momento da instalação e desinstalação. Por exemplo, minha equipe de controle de qualidade relatou um erro que, ao executar a aplicação enquanto desinstalava a aplicação em segundo plano, a aplicação ainda continuava em execução. Para eles, deveria mostrar uma mensagem ou fechar durante a desinstalação. Foi difícil explicar a eles a razão disso, então optei por implementar o desejo deles no projeto de instalação.
Basta adicionar uma classe de instalador à aplicação Windows que criamos anteriormente. Quando abrimos a classe de instalador, podemos ver os eventos especificados para cada ação personalizada, ou seja, para Instalação, Desinstalação, Reversão, Compromisso.
Minha necessidade era escrever código para a desinstalação, então escrevi algumas linhas para atender a essa necessidade.
O código contém a lógica para encontrar o nome do EXE em execução no momento da desinstalação. Se corresponder ao nome do EXE da minha aplicação, ele finaliza o processo. Não entrarei em mais detalhes sobre isso. Apenas quero explicar o uso das ações personalizadas.
```csharp
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Configuration.Install;
using System.Diagnostics;
using System.Linq;
namespace CreatingInstaller
{
[RunInstaller(true)]
public partial class Installer1 : System.Configuration.Install.Installer
{
public override void Install(IDictionary savedState)
{
base.Install(savedState);
// Adicione código personalizado aqui
}
public override void Rollback(IDictionary savedState)
{
base.Rollback(savedState);
// Adicione código personalizado aqui
}
public override void Commit(IDictionary savedState)
{
base.Commit(savedState);
// Adicione código personalizado aqui
}
public override void Uninstall(IDictionary savedState)
{
Process application = null;
foreach (var process in Process.GetProcesses())
{
if (!process.ProcessName.ToLower().Contains("creatinginstaller")) continue;
application = process;
break;
}
if (application != null && application.Responding)
{
application.Kill();
base.Uninstall(savedState);
}
}
}
}
```
Clique no Editor de Ações Personalizadas após selecionar o projeto CreatingInstallerSetup.
Veremos o painel do editor de ações personalizadas na janela à esquerda. Clique com o botão direito para adicionar uma ação personalizada e selecione a saída principal na Pasta do Aplicativo.
Veremos a saída principal adicionada como ações personalizadas agora. No momento da desinstalação, minha ação personalizada será acionada e a aplicação será fechada enquanto estiver sendo desinstalada.
**.NET Framework**
E se a máquina de instalação não tiver o .NET Framework? Podemos especificar nosso próprio pacote fornecido com a instalação para que nossa aplicação não dependa do .NET Framework da máquina do cliente, mas aponte para o pacote que fornecemos para que funcione.
Clique com o botão direito no projeto de instalação, para abrir a janela de propriedades.
Aqui podemos especificar pré-requisitos para a aplicação ser instalada. Basta clicar no botão Pré-requisitos e, na janela de pré-requisitos aberta, selecionar a caixa de seleção para a aplicação do .NET Framework que precisa ser seguida, e selecionar o botão de rádio número 2 (ou seja, Baixar pré-requisitos do mesmo local que minha aplicação). Pressione OK, mas salve o projeto e reconstruí-lo.
Agora, quando navegamos até a pasta de depuração do projeto de instalação, vemos mais duas pastas como resultado das ações que realizamos agora.
Agora, este pacote inteiro deve ser fornecido à máquina do cliente para a instalação da aplicação.
Agora reinstale a aplicação a partir do setup.exe e inicie-a usando os atalhos.
**Conclusão**
O tutorial cobre os passos básicos para criar o projeto de instalação. Não entrei em muitos detalhes explicando o registro ou acordos de licença, embora haja muitas coisas a serem exploradas para entender e dominar este tópico. No entanto, este artigo foi apenas um começo para um desenvolvedor brincar com a configuração e implantações do PERFEX CRM. Boa codificação!
Assine para acessar downloads ilimitados de temas, vídeos, gráficos, plug-ins e outros ativos premium para suas necessidades criativas.
Última atualização:
29/03/2025
Publicado:
31/10/2024
Categoria: