Gerando um Executável a partir de um Windows Forms

Olá pessoal, neste artigo mostro como é simples e rápido gerar um executável de sua aplicação Windows Forms, para depois gravar num CD ou copiar para um Pendrive, e executá-lo no cliente, na casa de um amigo, etc. Acompanhem:

Neste artigo irei fazer de forma simples e rápida a geração do executável. Se quiserem algo mais detalhado e explicativo, vejam este artigo.

Neste exemplo irei usar um projeto que tenho de Cálculo de Média, publicado em meu blog, no início de 2010.

Então para quem deseja utilizá-lo neste exemplo, clique aqui para baixá-lo.

Então, com o projeto aberto abra a Solution Explorer (CTRL + W + S), clique com o botão direito em cima do seu projeto e clique em Publish para que seja aberto o Wizard do Visual Studio.

Na tela que abre, clique em Browse e selecione uma pasta em que será gerado o instalador ou crie uma se for necessário. Após isso, clique em Next.

Agora o Wizard irá perguntar como os usuários instalarão sua aplicação, deixe selecionada a terceira opção: From a CD-ROM ou DVD-ROM e clique em Next.

Na próxima tela o Wizard irá perguntar se a aplicação irá procurar por atualizações. Deixe selecionada a segunda opção: The application will not check for updates e clique em Next.

Será exibida uma tela avisando que quando o executável for instalado na máquina do cliente, será gerado um atalho no menu Iniciar e a opção de Desinstalar o Aplicativo no Adicionar/Remover Programas, do Painel de Controle.

Clique em Finish e aguarde o Wizard gerar seu instalador.

Quando terminar, será mostrada abaixo no canto esquerdo a mensagem Publish Suceeded.

Se seu browser abrir tentando carregar o executável e der erro, ignore.

Agora vá na pasta em que foi gerado o executável e dê dois cliques no arquivo  Setup.exe. Na tela que aparece, clique em Install:

Seu programa deverá ser executado:

Simples né? Note que se você for ao menu Iniciar e em Todos os programas verá que foi criado um atalho para seu programa:

Da mesma forma se você for ao Painel de Controle, clicar em Adicionar ou remover programas, verá que tem uma opção para desinstalar o aplicativo:

Pronto, só gravar em um CD ou mesmo passar pro Pendrive o Setup.exe e distribuir pros amigos ou mesmo instalar no cliente!

Disponibilizei para os interessados o executável deste programa para que testem, para baixá-lo clique aqui. Já para baixar o código-fonte deste projeto, só clicar no link do começo do artigo.

Abraços.

Até o próximo artigo!

47 comentários em “Gerando um Executável a partir de um Windows Forms

  1. óla, pessoal. como por agradecer pelo blog e sobre os contéudos abordados. sou novato programão. venho a desenvolver sistemas usando a bd Acess. agora passei para o sql server.
    Meu problema não consigo importar a bd na máquina do cliente, o que posso fazer? se me ajudarem agradecia… meu email: minervoafonso@gmail.com.

    Curtir

  2. Pessoas, eu tenho um projeto C#, Windows Forms que possui um banco de dados Sql server 2012, ele usa um string de conexão que fica dentro de Debug é um arquivo .txt, como consigo criar um exe deste programa de maneira que o banco de dados venha junto com ele?

    Curtir

  3. Nossa, isso era exatamente o que eu buscava. Fiz várias pesquisas na internet, e até nos próprios fóruns de discussão sobre Visual Basic da própria Microsoft, mas não encontrei nada que me ajudasse. Seu exemplo foi perfeito, obrigado!!!

    Curtir

  4. como faço para torna-lo executável depois de o ter conectado a uma base de dados ou seja tornar um programa executável em C# e sql.

    Curtir

  5. Bom dia cara blz, achei muito bacana sua ideia tava precisando de uma coisa teoricamente até mais simples, criar um arquivo .exe normal para ser instalado no windows que crie um ícone na área de trabalho normal só que quando ele for executado ele iria abrir de certo modo um iframe de um sistema online que já tenho hoje só isso, seria tranquilo de fazer? aguem que tiver conhecimento me manda um valor bacana quem sabe a gente não fecha essa parceria, aguardo retorno, proposta podem enviar no e-mail contato@nextlive.com.br

    Curtir

  6. Cara seu exemplo é muito bom mas no meu não deu muito certo, poderia ser algo relacionado ao banco ?? pois fiz também com um que não utilizava banco e deu certo.

    Se tiver algum exemplo utilizando banco de dados ou como fazer em relação a isso acho que ajudaria muita gente.

    Obrigado

    Curtir

    1. Pode ser várias coisas, você gerou o executável e tentou rodar em outro pc, que não tem o banco instalado? Tem que ver a string de conexão, pra onde ele aponta.

      Ou em último caso anexar o banco ao projeto.

      Abs.

      Curtir

      1. Obrigado wellington, eu gerei o meu. E deu certo.

        Mas, quero criar algo mais avançado. Quero conectar um projeto a uma banco de dados. Criei o banco de dados em MySQL. Mas não consigo conectar…

        Como faço?

        Curtir

  7. Ótimo! Estava procurando por isso há dois dias, no VS 2012 (provavemente nos outros, só voltei pro VB e C agora) funciona perfeitamente. Alguns tópicos dizem que é só copiar a pasta Debug, mas isso não funciona quando não se tem instalado o .net na mesma versão.
    Parabéns pelo artigo!

    Curtir

  8. Olá Welligton, meu nome é Adriano, estou desenvolvendo um sistema para gerenciar uma ótica, e gostaria de saber qual o melhor e mais apropriado servido de banco de dados para integrar minha aplicação. Eu estou usando o access. e como fazer para incluí-lo no setup de intalação do meu sistema para distrbuir com ela? Agradeço sua resposta.

    Valeu!!

    Curtir

      1. Valeu Welligton, muito obrigado cara, Agradecido!!
        Welligton só mais uma coisa, cara é pq meu computador deu pau aqui e perdir o visual studio 2010 que tinha instalado nele tem como vc me mandar uma imagem iso pra mim instalar ele? como arquivo zipado. se der envia pro meu email adrianostudant@hotmail.com ta bom? valeuu cara me ajudou muito.

        Curtir

  9. Bom Dia, Amigo!
    Gostaria de Tirar uma dúvida com vc, estou criando um aplicativo em c# VS 2010 express, e crie o database e uma tabela diretamente do VS2010, porém instalei na minha maquina para facilitar as consultas ao BD o SQLSERVER management Studio 2005, e não consigo importar o banco de dados pois da erro de compatibilidade.
    Parei o Desenvolvimento e não consigo resolver esse problema!!

    Desde já agradeço

    Curtir

  10. ola.
    estou com mais um problema.
    ja perdi hrs procurando e nada até agora.
    me de uma luz!!!
    tenho projeto c# com um BD em sql onde faço o filtro por uma determinada coluna e aparecem somente os dados da pessquisa no dataGridView.
    até aqui OK…. funciona delet, update, inserte e assim por diante.
    o que preciso é que o Maior numero informado na coluna 5 apareca em um textbox em separado.
    imagino q seja algo no caminho selec max.
    o problema é justamente agora…. nao consigo mais sair do lugar.
    me ajude por favor.
    forte abraço

    Curtir

  11. ola amigo.
    eu aqui novamente.
    tenho uma duvida semelhante ha do diego.
    eu faço um programa que usa BD SQL onde salvo tudo na pasta debug do meu projeto.
    a duvida é:
    como vou instalar o programa em 5 maquinas estando elas todas ligadas ha um servidor?
    imagino que o banco tenha q ficar em uma determinada pasta do servidor e nao na pasta debug.
    se sim, como farei pra alterar o caminho da fonte de dados se o meu projeto ja está concluido?
    somente para exclarecer, sou principiante neste arte de C#.

    obrigado

    Curtir

    1. Marcos, se você ler com atenção a minha resposta ao Diego verá que disse que você precisará do SQL Server Management Studio, que é a IDE de desenvolvimento do SQL Server.

      Com ela instalada no servidor você pode armazenar seu banco nele, pegar a string de conexão a ele, usuário e senha (se for necessário) e colar estes dados no arquivo de configuração, o App.config.

      Abraços.

      Curtir

  12. Olá amigo, sou programador delphi e estou começando a programar em C#.Net VS 2010.
    Gostei muito da sua Matéria e me surgiu uma dúvida.

    Quando for instalar nosso aplicativo em 10 máquinas por exemplo,
    e o cliente possui um servidor que esta em rede, como faço pra passar as tabelas do executavel para o servidor, ou conectar o aplicativo com este servidor??
    Espero ter sido Claro na pergunta.

    Curtir

    1. Olá Diego tudo bem?

      Se o servidor que você quer acessar tem o SQL Server Management Studio e você tem acesso a ele, fica fácil.

      É só gerar os scripts das tabelas que você quer criar e rodá-las no servidor do seu cliente.

      Se você já tem as tabelas geradas no servidor você pode pegar o IP, Usuario e Senha de acesso dele e passar ao seu arquivo de configuração da sua aplicação, o App.config.

      Espero ter sido claro.

      Abraços.

      Curtir

  13. Gostei da matéria, excelente artigo!
    Tenho dúvidas…
    Como eu faço pra incluir nesse setup a instalação do framework? Tem jeito?
    Abraço, parabéns pelo blog!

    Curtir

  14. – Parabens excelente materia, tão simples e no mesmo instante tão desconhecido para iniciantes, incluindo EU.
    – Bem, no meu caso fiz um pequeno programinha com intenção de aprimorar meus conhecimentos e criei ele para que seja executado direto do CD ou DVD NÃO S/ INSTALAR O SETUP, mas o programa em sí, sem precisar instalar em nenhama maquina mas q rode direto do CD/DVD, está e a minha DUVIDA.
    – Pensei em criar -lo no VB6 mas já tá “veio” sei que pelo DELPHI o executavel roda direto sem que o sistema em si tenha essas frescuras desse DOTNET e CIA, mas como tive problemas na instalação do Delphi XE no meu Win7 optei pelo VS.NET 2010 onde foi feito e escrito em VB.
    -Agora pesso HELP para vc ou vcs segundo vossos conhecimentos como criaria um executavel desse programinha com todas suas .dll´s necesarias para que execute direto do CD/DVD sem precisar instalar NADA isso “NÓS’ seria de muito util.

    Desde já fico grato.

    ps.: Esse meu e-mail e tbm e msn blz

    Curtir

  15. Cara, gostei deste seu artigo obre a criação do executável. O problema é que a instalação não está sendo possível em outro computador.
    Eu faço o programa em um computador com o XP e tento instalá-lo em outro tbm com o XP. Só que não instala. Alega a ausência de um arquivo necessário pronto!
    Eu fiz no meu note (vista) e intalei em meu pc (vista) aí deu certo! O que pode tá acontacendo

    Curtir

    1. Olá Fabrício,
      Deve ser a falta do DotNet (ou .NET Framework). Talvez você fez o seu projeto numa versão superior ao que tem instalado no seu XP. Normalmente o XP tem a versão 2.0 e o seu projeto foi feito na versão 3.0, 3.5 ou 4.0.
      Se você fez o seu projeto numa versão superior, precisará instalar uma versão atualizada do DotNet.

      Curtir

  16. Cara valeu mesmo estava procurando na internet igual a um louco ja faz maior tempao valeu mesmo brigadao falou e tudo de bom.

    Curtir

  17. Olá amigo, fui tentar dar publish num jogo da memória que eu fize que continha imagens dentro da pasta Resource. Só que as imagens não foram.. como faço para ele gerar o executável e a imagens irem junto ?

    Curtir

      1. Faço assim: Se for no banco Access eu copio o banco no pc do cliente/pessoa, pego o caminho físico (por exemplo C:\nomedobanco.accbd) e passo este caminho para minha string de conexão do programa.
        Se for SQL Server precisa instalar o Management Studio no pc do cliente e fazer a mesma coisa com a string de conexão.

        Abraços.

        Curtir

Expresse sua opinião!