none
Como criar uma arquivo instalador para um windows service que eu criei ? RRS feed

  • Pergunta

  • Eu criei um windows service que verifica se algum arquivo foi criado em uma pasta específica e envia um e-mail avisando o usuário. Agora eu gostaria de saber se eu consigo criar um instalador para este meu programa. Alguém sabe me dizer como se faz isso. Criar um arquivo microsoft installer por exemplo. 

    Meu código:

     

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Diagnostics;
    using System.Linq;
    using System.ServiceProcess;
    using System.Text;
    using System.IO;
    //Namespace utilizado para o envio de e-mail
    using System.Web;
    using System.Configuration;
    using System.Net.Mail;
    
    namespace AvisoJornal
    {
        public partial class AvisoJornal : ServiceBase
        {
            public AvisoJornal()
            {
                InitializeComponent();
            }
    
            //Objeto responsável por observar a pasta
            FileSystemWatcher watcher = new FileSystemWatcher();
    
            //Inicializando o serviço
            protected override void OnStart(string[] args)
            {
                //Observador da pasta
                watcher.Path = @"c:\temp\";
                watcher.Created += new FileSystemEventHandler(watcher_Changed);
                watcher.EnableRaisingEvents = true;
            }
    
            public void watcher_Changed(object sender, FileSystemEventArgs e)
            {
                Debug.Print("Arquivo alterado: " + e.ChangeType + " " + e.FullPath + System.Environment.NewLine);
    
                //Enviar um e-mail avisando o usuário            
                SmtpClient server = new SmtpClient("smtp.teste.com");
                MailMessage email = new MailMessage();
                email.From = new MailAddress("guilherme@teste.com");
                email.Subject = "Arquivo " + e.Name + " Disponível na FTP";
                email.Body = "Foi disponibilizado o arquivo " + e.Name + "  \n";
                email.Body = email.Body + "Data: " + DateTime.Now.Day + "/" + DateTime.Now.Month + "/" + DateTime.Now.Year +"\n";
                email.Body = email.Body + "Às " + DateTime.Now.Hour + ":" + DateTime.Now.Minute + " horas \n";
                email.Body = email.Body + "Caminho de Acesso ao Arquivo: ftp.teste.com.br ";
                try
                {
                    server.Send(email);
                    Debug.Print("E-mail enviado com sucesso");
                }
                catch (SmtpFailedRecipientException error)
                {
                    Debug.Print("Erro no envio do e-mail: " + error);
                } 
    
                // Começar a observar
                watcher.EnableRaisingEvents = true;
            }
    
            protected override void OnStop()
            {
            }
        }
    }
    
    


     

     

     


    Guilherme Costa
    Email: guilerme18@hotmail.com

    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.



    quarta-feira, 18 de janeiro de 2012 13:20

Respostas

Todas as Respostas

  • Bom dia !
    Exemplo de como criar, instalar, publicar e etc:
    http://www.codeproject.com/KB/webservices/myservice.aspx 

    Abraços... 
    Evandro Aguiar
    http://wta3.com.br

    Farei o possível, para ajudar. Caso eu consiga, marque minha resposta como útil e me faça feliz. :) hauhauhauhauh
    quarta-feira, 18 de janeiro de 2012 13:24
  • Bom dia !
    Exemplo de como criar, instalar, publicar e etc:
    http://www.codeproject.com/KB/webservices/myservice.aspx 

    Abraços... 
    Evandro Aguiar
    http://wta3.com.br

    Farei o possível, para ajudar. Caso eu consiga, marque minha resposta como útil e me faça feliz. :) hauhauhauhauh
    Corrigindo. É um instalador de windows service e não web service. Escrevi errado. 

    Guilherme Costa
    Email: guilerme18@hotmail.com

    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    quarta-feira, 18 de janeiro de 2012 13:34
  • Aqui amigo:

    http://msdn.microsoft.com/pt-br/library/zt39148a(v=vs.80).aspx

    Abraços...


    Evandro Aguiar
    http://wta3.com.br

    Farei o possível, para ajudar. Caso eu consiga, marque minha resposta como útil e me faça feliz. :) hauhauhauhauh
    quarta-feira, 18 de janeiro de 2012 13:40
  • Aqui amigo:

    http://msdn.microsoft.com/pt-br/library/zt39148a(v=vs.80).aspx

    Abraços...


    Evandro Aguiar
    http://wta3.com.br

    Farei o possível, para ajudar. Caso eu consiga, marque minha resposta como útil e me faça feliz. :) hauhauhauhauh

    Estou lendo o arquivo mas ainda estou um pouco confuso. Algumas dúvidas:

    1. Eu adicionei o project installer. Dando um build nele eu consigo um EXE para registrar o serviço. Tenho algum lugar nele que eu consigo fazer com que o sistema crie um instalador MSI por exemplo ? Ou eu devo adicionar um novo projeto de instalação(não sei se isso existe) a minha soluction ?

    Guilherme Costa
    Email: guilerme18@hotmail.com

    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    quarta-feira, 18 de janeiro de 2012 15:35
  • Bom dia !
    Exemplo de como criar, instalar, publicar e etc:
    http://www.codeproject.com/KB/webservices/myservice.aspx 

    Abraços... 
    Evandro Aguiar
    http://wta3.com.br

    Farei o possível, para ajudar. Caso eu consiga, marque minha resposta como útil e me faça feliz. :) hauhauhauhauh
    Como assim conteúdo abusivo ? 0.o
    Evandro Aguiar
    http://wta3.com.br

    Farei o possível, para ajudar. Caso eu consiga, marque minha resposta como útil e me faça feliz. :) hauhauhauhauh
    quarta-feira, 18 de janeiro de 2012 15:40
  • Bom dia !
    Exemplo de como criar, instalar, publicar e etc:
    http://www.codeproject.com/KB/webservices/myservice.aspx 

    Abraços... 
    Evandro Aguiar
    http://wta3.com.br

    Farei o possível, para ajudar. Caso eu consiga, marque minha resposta como útil e me faça feliz. :) hauhauhauhauh
    Como assim conteúdo abusivo ? 0.o
    Evandro Aguiar
    http://wta3.com.br

    Farei o possível, para ajudar. Caso eu consiga, marque minha resposta como útil e me faça feliz. :) hauhauhauhauh
    EU tentei colocar como não compatível com a pergunta. Pois eu tinha feito a pergunta errada. 

    Guilherme Costa
    Email: guilerme18@hotmail.com

    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    quarta-feira, 18 de janeiro de 2012 15:47
  • Bom dia !
    Exemplo de como criar, instalar, publicar e etc:
    http://www.codeproject.com/KB/webservices/myservice.aspx 

    Abraços... 
    Evandro Aguiar
    http://wta3.com.br

    Farei o possível, para ajudar. Caso eu consiga, marque minha resposta como útil e me faça feliz. :) hauhauhauhauh
    Como assim conteúdo abusivo ? 0.o
    Evandro Aguiar
    http://wta3.com.br

    Farei o possível, para ajudar. Caso eu consiga, marque minha resposta como útil e me faça feliz. :) hauhauhauhauh
    EU tentei colocar como não compatível com a pergunta. Pois eu tinha feito a pergunta errada. 

    Guilherme Costa
    Email: guilerme18@hotmail.com

    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    Podia ter deixado sem né ? hauahuhua
    Tomara que eu não tome uma dura dos moderadores.  :(
    Evandro Aguiar
    http://wta3.com.br

    Farei o possível, para ajudar. Caso eu consiga, marque minha resposta como útil e me faça feliz. :) hauhauhauhauh
    quarta-feira, 18 de janeiro de 2012 15:52
  • Aqui amigo:

    http://msdn.microsoft.com/pt-br/library/zt39148a(v=vs.80).aspx

    Abraços...


    Evandro Aguiar
    http://wta3.com.br

    Farei o possível, para ajudar. Caso eu consiga, marque minha resposta como útil e me faça feliz. :) hauhauhauhauh

    Estou lendo o arquivo mas ainda estou um pouco confuso. Algumas dúvidas:

    1. Eu adicionei o project installer. Dando um build nele eu consigo um EXE para registrar o serviço. Tenho algum lugar nele que eu consigo fazer com que o sistema crie um instalador MSI por exemplo ? Ou eu devo adicionar um novo projeto de instalação(não sei se isso existe) a minha soluction ?

    Guilherme Costa
    Email: guilerme18@hotmail.com

    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.


    Mas não é isso que você quer, um .EXE para "startar" o serviço ?
    Evandro Aguiar
    http://wta3.com.br

    Farei o possível, para ajudar. Caso eu consiga, marque minha resposta como útil e me faça feliz. :) hauhauhauhauh
    quarta-feira, 18 de janeiro de 2012 15:53
  • Aqui amigo:

    http://msdn.microsoft.com/pt-br/library/zt39148a(v=vs.80).aspx

    Abraços...


    Evandro Aguiar
    http://wta3.com.br

    Farei o possível, para ajudar. Caso eu consiga, marque minha resposta como útil e me faça feliz. :) hauhauhauhauh

    Estou lendo o arquivo mas ainda estou um pouco confuso. Algumas dúvidas:

    1. Eu adicionei o project installer. Dando um build nele eu consigo um EXE para registrar o serviço. Tenho algum lugar nele que eu consigo fazer com que o sistema crie um instalador MSI por exemplo ? Ou eu devo adicionar um novo projeto de instalação(não sei se isso existe) a minha soluction ?

    Guilherme Costa
    Email: guilerme18@hotmail.com

    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.


    Mas não é isso que você quer, um .EXE para "startar" o serviço ?
    Evandro Aguiar
    http://wta3.com.br

    Farei o possível, para ajudar. Caso eu consiga, marque minha resposta como útil e me faça feliz. :) hauhauhauhauh

    Desculpa ai. Devia ter deixado mesmo. Achei que a mensagem só ia desaparecer. Foi a primeira vez que eu usei esse recurso. :S 

     

    Cara, o EXE eu consigo utilizar normalmente. Agora eu to criando um .MSI para poder mandar para o meu cliente instalar. Sem precisar fazer isso pelo command. Eu achei algo aqui e estou testando. Adicionei um novo projeto de instalação a minha solução como fala abaixo:

    To create a new deployment project

    1. On the File menu, point to Add, then click New Project.

    2. In the resulting Add New Project dialog box, in the Project Types pane, open the Other Project Types node and select Setup and Deployment Projects.

    3. In the Templates pane, choose the type of deployment project you want to create.For more information, see Setup and Deployment Projects.

    Só ainda não consegui vincular o instalador com o meu widows service. Vou tentando aqui. Qd descobrir, coloco a solução completa. Se alguém tiver alguma dica. Valeu :) 

     


    Guilherme Costa
    Email: guilerme18@hotmail.com

    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    quarta-feira, 18 de janeiro de 2012 15:59
  • Entendi. Então esse artigo da Microsoft vai ajudar:
    http://support.microsoft.com/kb/317421 

    Abraços... 
    Evandro Aguiar
    http://wta3.com.br

    Farei o possível, para ajudar. Caso eu consiga, marque minha resposta como útil e me faça feliz. :) hauhauhauhauh
    quarta-feira, 18 de janeiro de 2012 16:14
  • Um videozinho com uma ótima explicação sobre como adicionar um projeto de instalação:

    http://www.youtube.com/watch?v=Lcue0jo41AM


    Guilherme Costa
    Email: guilerme18@hotmail.com

    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.


    quarta-feira, 18 de janeiro de 2012 16:30
  • Solução completa para o meu problema está nos dois vídeos abaixo. Simplesmente perfeito :

    Create setup for Windows Service Part 1

    http://www.youtube.com/watch?v=Hk0ceWuLjkU

    Create setup for Windows Service Part 2

    http://www.youtube.com/watch?v=31WtOj0lpVU


    Guilherme Costa
    Email: guilerme18@hotmail.com

    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    quarta-feira, 18 de janeiro de 2012 16:46
  • Boa, Guilherme ! Se der, marque minhas respostas como úteis. Te ajudei né ? :)
    Abraços... 
    Evandro Aguiar
    http://wta3.com.br

    Farei o possível, para ajudar. Caso eu consiga, marque minha resposta como útil e me faça feliz. :) hauhauhauhauh
    quarta-feira, 18 de janeiro de 2012 18:47