none
servicio que modifica el archivo host RRS feed

  • Pregunta

  • Hola buenas dios, es para ver si me podrian ayudar, es que he creado un servicio de windows que debería modificar el archivos host, pero no me funciona, por favor alguien que me ayude la verdad no se en que estoy fallando.

    using System;
    using System.ServiceProcess;
    using System.IO;
    using System.Timers;
    using System.Net;

    namespace PeerfyService
    {
        public partial class Service1 : ServiceBase
        {
            private Timer timer = new Timer();
            private double servicePollInterval;
                  public Service1()
            {
                InitializeComponent();
            }

            protected override void OnStart(string[] args)
            {
                timer.Elapsed += new ElapsedEventHandler(timer_Elapsed);
                //providing the time in miliseconds 
                timer.Interval = servicePollInterval;
                timer.AutoReset = true;
                timer.Enabled = true;
                timer.Start();
            }

            void timer_Elapsed(object sender, EventArgs e)
            {
                string Reply = new WebClient().DownloadString("http://admin.appguardian.co/peerfy/hosts");
                string google = @"C:\Windows\System32\drivers\etc\hosts";
                File.WriteAllText(google, Reply);

            }



            protected override void OnContinue()
            {
                base.OnContinue();
                timer.Start();
            }
            protected override void OnPause()
            {
                base.OnPause();
                timer.Stop();
            }

            protected override void OnShutdown()
            {
                base.OnShutdown();
                timer.Stop();
            }

            protected override void OnStop()
            {
                timer.Stop();
            }
        }
    }

    martes, 21 de noviembre de 2017 15:00

Respuestas

  • hola/

    podrias loguear la causa por la cual falla ? podrias definir el try..catch en el Elapsed y volcar el message del exception a un archivo de texto

    igualmente por lo general podrias deberse a un tema de acceso al archivo, si intentas modificarlo manualmente te deja hacerlo?

    puede que no tengas la seguridad y debas ejecutar como admin local

    Start Application With Administrative Rights on Windows

    para esto se utiliza el manifest

    pero tambien puede ser que ese archivo este bloqueado por otro programa

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 21 de noviembre de 2017 15:20

Todas las respuestas

  • Buenas,

    A que te refieres exactamente con que no te funciona? a que el servicio no arranca? a que arranca pero se para? a que genera excepciones? Danos más datos por favor.

    Has instalado el servicio?

    Al hacer el instalador del servicio, que usuario has indicado que corra el servicio?, si no has tocado el usuario, seguramente tu problema sea que el servicio no tiene permiso para modificar el fichero host (tienes que ser administrador, y creo que el usuario por default de un servicio no lo es)

    Danos más datos para poder ayudarte

    Quedo a la espera de tu respuesta

    Atte


    No olvides votar mi comentario si te ha ayudado y marcarlo como respuesta si ha sido la solución, con eso ayudas a mejorar mi reputación en la comunidad y a identificar la respuesta a la gente que tenga el mismo problema.

    Para obtener una respuesta lo más rápida y concisa posible, te recomiendo:

    martes, 21 de noviembre de 2017 15:14
  • hola/

    podrias loguear la causa por la cual falla ? podrias definir el try..catch en el Elapsed y volcar el message del exception a un archivo de texto

    igualmente por lo general podrias deberse a un tema de acceso al archivo, si intentas modificarlo manualmente te deja hacerlo?

    puede que no tengas la seguridad y debas ejecutar como admin local

    Start Application With Administrative Rights on Windows

    para esto se utiliza el manifest

    pero tambien puede ser que ese archivo este bloqueado por otro programa

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 21 de noviembre de 2017 15:20