none
El Servicio Windows que instale en mi maquina no funciona RRS feed

  • Pregunta

  • Hola!

    Primero que todo disculpas si este tema no corresponde a la categoría.

    Desarrolle un servicio Windows el cual, si ejecuto desde Visual Studio, realiza las acciones correspondientes que son:

    - Realizar una consulta a la base de datos donde tengo solicitudes con estado pendiente.

    - Si hay pendientes, el Servicio se encarga de responder aquellas solicitudes.

    Al generar el instalador, e instalar dicho servicio este no realiza las funcionalidades requeridas.

    Cree un nuevo Servicio Windows, que escriba un texto en un archivo de texto, según el timer seteado.

    Lo instalo y funciona correctamente.

    Alguna idea de lo que puede estar pasando? Porque si lo depuro funciona correctamente, no así cuando lo instalo?

    Ademas, si voy a la carpeta en la que se instaló el servicio, en mi caso:  C:\Program Files (x86)\Servicio\ServicioWindows y ejecuto el Archivo Servicio.exe, comienza a generar las respuestas de manera correcta.

    Tendré problemas en el instalador?

    Favor su ayuda.

    Muchas gracias!!!



    • Editado Ivan Diaz G martes, 6 de diciembre de 2016 21:10 Agregué información
    martes, 6 de diciembre de 2016 21:08

Respuestas

  • Hola, ya que has validado todo lo anterior , quizás podría ser un tema de permisos ,anda a tu servicio dale click derecho y en propiedades en la pestaña Iniciar sesión valida con que cuenta estás tratando de ejecutarlo, quizás necesitas un usuario de red con permisos elevados.


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.


    martes, 13 de diciembre de 2016 13:42

Todas las respuestas

  • hola

    no crees un servicio nuevo simplemente agrega log en un archivo al servicio que tienes para ver si esta ejecutando

    Cómo escribir facilmente un fichero Log en .NET Framework 

    de esta forma validas por donde pasa la ejecucion

    si el servicio se conecta a la db deberias validar como defines el connection string, si usas seguridad integrada a windows puede que debas definir el usuario con el cual ejecuta el servicio, o sino defini un usuario de sql server en el connection string

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 6 de diciembre de 2016 21:38
  • Hola,pero como depuras tu servicio luego de instalarlo, tampoco entiendo como  ejecutas un servicio con el .exe, normalmente cuando ejecutas el .exe que crean los proyectos de servicios windows te sale un error como este , el cual te indica que debes instalarlo primero

    Podrías probar poniendo esta línea de código en el evento onstart luego de instalar el servicio y debería pedirte depurarlo con alguna versión del visual studio

    System.Diagnostics.Debugger.Launch();


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.




    • Editado Augusto1982 miércoles, 7 de diciembre de 2016 4:10
    miércoles, 7 de diciembre de 2016 4:03
  • Hola,pero como depuras tu servicio luego de instalarlo, tampoco entiendo como  ejecutas un servicio con el .exe, normalmente cuando ejecutas el .exe que crean los proyectos de servicios windows te sale un error como este , el cual te indica que debes instalarlo primero

    Podrías probar poniendo esta línea de código en el evento onstart luego de instalar el servicio y debería pedirte depurarlo con alguna versión del visual studio

    System.Diagnostics.Debugger.Launch();


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.




    Hola!

    Perdón, pero cuando me refería a depurar, era cuando le daba Run desde Visual Studio y ejecutaba el servicio.

    Yo preparé un Setup en mi solución de Visual Studio, y al instalarlo, me deja unos archivos en la carpeta de instalación anteriormente mencionada. Desde ahí ejecuto el único .exe que hay, el cual levanta una pantalla en consola y comienza a correr las funciones del servicio. Luego de esto, yo veo en mi bd el resultado de la ejecución y efectivamente realiza las funciones programadas.

    Saludos!


    miércoles, 7 de diciembre de 2016 12:13
  • hola

    no crees un servicio nuevo simplemente agrega log en un archivo al servicio que tienes para ver si esta ejecutando

    Cómo escribir facilmente un fichero Log en .NET Framework 

    de esta forma validas por donde pasa la ejecucion

    si el servicio se conecta a la db deberias validar como defines el connection string, si usas seguridad integrada a windows puede que debas definir el usuario con el cual ejecuta el servicio, o sino defini un usuario de sql server en el connection string

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    Hola!

    Este es mi connectionStrings.

    <connectionStrings>
            <add name="DBConnectionString" connectionString="Data Source=ServerName;Initial Catalog=CBV;Persist Security Info=True;User ID=user;Password=Pass;Pooling=False;Current Language=us_english"
                providerName="System.Data.SqlClient" />
        </connectionStrings>

    Probaré con un log al final del OnStart y te comento como me va.

    Muchas gracias por tu ayuda!


    miércoles, 7 de diciembre de 2016 12:13
  • hola

    no crees un servicio nuevo simplemente agrega log en un archivo al servicio que tienes para ver si esta ejecutando

    Cómo escribir facilmente un fichero Log en .NET Framework 

    de esta forma validas por donde pasa la ejecucion

    si el servicio se conecta a la db deberias validar como defines el connection string, si usas seguridad integrada a windows puede que debas definir el usuario con el cual ejecuta el servicio, o sino defini un usuario de sql server en el connection string

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    Hola!

    Este es mi connectionStrings.

    <connectionStrings>
            <add name="DBConnectionString" connectionString="Data Source=ServerName;Initial Catalog=CBV;Persist Security Info=True;User ID=user;Password=Pass;Pooling=False;Current Language=us_english"
                providerName="System.Data.SqlClient" />
        </connectionStrings>

    Probaré con un log al final del OnStart y te comento como me va.

    Muchas gracias por tu ayuda!


    Leandro, 

    Probé con el log al final del onStart y ocurre lo mismo. Cuando instalo e inicio el servicio, este no realiza ninguna acción. No así cuando voy a la carpeta de instalación y ejecuto el exe.

    Favor tu ayuda.

    miércoles, 7 de diciembre de 2016 12:36
  • Hola, aún asi no entiendo como puedes compilar tu servicio de windows desde el visual studio, has creado este tipo de proyecto cuando creaste tu servicio?

    Otra cosa es como lo instalas, te recomiendo lo hagas con la herramienta InstallUtil.exe como se indica en esta página

    http://www.csharp-examples.net/install-net-service/

    recuerda que dependiendo del framework con el que desarrollaste el proyecto la herramienta la encuentras en la carpeta respectiva.


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.

    miércoles, 7 de diciembre de 2016 13:58
  • Hola, aún asi no entiendo como puedes compilar tu servicio de windows desde el visual studio, has creado este tipo de proyecto cuando creaste tu servicio?

    Otra cosa es como lo instalas, te recomiendo lo hagas con la herramienta InstallUtil.exe como se indica en esta página

    http://www.csharp-examples.net/install-net-service/

    recuerda que dependiendo del framework con el que desarrollaste el proyecto la herramienta la encuentras en la carpeta respectiva.


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.

    Efectivamente, pero hice que el servicio funcionara con una ventana de consola el cual me va indicando la actividad del servicio. Será por eso que no está funcionando el servicio como tal?

    lunes, 12 de diciembre de 2016 18:37
  • Hola, aún asi no entiendo como puedes compilar tu servicio de windows desde el visual studio, has creado este tipo de proyecto cuando creaste tu servicio?

    Otra cosa es como lo instalas, te recomiendo lo hagas con la herramienta InstallUtil.exe como se indica en esta página

    http://www.csharp-examples.net/install-net-service/

    recuerda que dependiendo del framework con el que desarrollaste el proyecto la herramienta la encuentras en la carpeta respectiva.


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.

    Efectivamente, pero hice que el servicio funcionara con una ventana de consola el cual me va indicando la actividad del servicio. Será por eso que no está funcionando el servicio como tal?

    Estimado varias consultas para saber por donde puede ir tu problema:

    1.- Puedes ver tu servicio en el servidor cuando lo instalas a travez del setup? (esto se ve en los servicios de windows, busca la palabra servicios o services si esta en ingles)

    2.- en tu proyecto  principal donde esta por defecto el Service1.cs tienes otro archivo llamado ProyectInstaller.cs?

    3.- Tu proyecto ocupa dll a las cuales haces referencia?  si la respuesta es afirmativa estas estan compiladas x86 o x64?

    4.- Que version de windows se utiliza donde se esta instalando el servicio de windows?

    Quedo atento a eso para indicarte por donde podria ir el problema de ello

    lunes, 12 de diciembre de 2016 19:21
  • Hola, ya que has validado todo lo anterior , quizás podría ser un tema de permisos ,anda a tu servicio dale click derecho y en propiedades en la pestaña Iniciar sesión valida con que cuenta estás tratando de ejecutarlo, quizás necesitas un usuario de red con permisos elevados.


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.


    martes, 13 de diciembre de 2016 13:42