Crear aplicación como servicio

24/08/2005 - 11:18 por Juan Ant. | Informe spam
Tengo un PC con Windows 2003 Server en el cual quiero instalar una
aplicación desarrollada en Visual Basic 6. Inicio sesión remota en el
PC y arranco la aplicación sin problemas, pero al cerrar la sesión el
programa se cierra.

Supongo que para que esto no ocurra debe estar el programa como
servicio. He intentado añadirlo como servicio a través de la utilidad
INSTSRV.exe del Windows NT Resource Kit y el servicio parece añadirse
sin problemas. Cuando intento arrancarlo, da un error de que el
programa no ha contestado "in a timely fashion" o algo así.
El programa llega a arrancarse, porque deja log en un archivo. No
obstante, se cierra.

Alguna idea?

Gracias!

Preguntas similare

Leer las respuestas

#1 Javier Inglés [MS MVP]
24/08/2005 - 11:23 | Informe spam
How To Create a User-Defined Service

http://support.microsoft.com/defaul...-US;137890



No obstante, no todo exe o ejecutable podrá convertirse a servicio ya que
depende precisamente de su desarrollo


Salu2!!
Javier Inglés
MS MVP, Windows Server-Directory Services





"Juan Ant." escribió en el mensaje
news:
Tengo un PC con Windows 2003 Server en el cual quiero instalar una
aplicación desarrollada en Visual Basic 6. Inicio sesión remota en el
PC y arranco la aplicación sin problemas, pero al cerrar la sesión el
programa se cierra.

Supongo que para que esto no ocurra debe estar el programa como
servicio. He intentado añadirlo como servicio a través de la utilidad
INSTSRV.exe del Windows NT Resource Kit y el servicio parece añadirse
sin problemas. Cuando intento arrancarlo, da un error de que el
programa no ha contestado "in a timely fashion" o algo así.
El programa llega a arrancarse, porque deja log en un archivo. No
obstante, se cierra.

Alguna idea?

Gracias!
Respuesta Responder a este mensaje
#2 Marc [MVP Windows]
24/08/2005 - 11:26 | Informe spam
Supongo que el procedimiento que usas para crear el servicio es similar a:
http://www.iopus.com/guides/srvany.htm

Y la otra parte es que la aplicación pueda funcionar como servicio. Puede?

Saludos,

Marc
MCP - MVP Windows Shell/User
Oracle9i Certified Associate (OCA)

Este mensaje se proporciona "como está" sin garantías de ninguna clase, y no
otorga ningún derecho.


"Juan Ant." wrote:

Tengo un PC con Windows 2003 Server en el cual quiero instalar una
aplicación desarrollada en Visual Basic 6. Inicio sesión remota en el
PC y arranco la aplicación sin problemas, pero al cerrar la sesión el
programa se cierra.

Supongo que para que esto no ocurra debe estar el programa como
servicio. He intentado añadirlo como servicio a través de la utilidad
INSTSRV.exe del Windows NT Resource Kit y el servicio parece añadirse
sin problemas. Cuando intento arrancarlo, da un error de que el
programa no ha contestado "in a timely fashion" o algo así.
El programa llega a arrancarse, porque deja log en un archivo. No
obstante, se cierra.

Alguna idea?

Gracias!


Respuesta Responder a este mensaje
#3 Juan Ant.
24/08/2005 - 13:02 | Informe spam
Ok. He progresado algo: he conseguido, siguiendo los pasos de la
página que me decía Marc, que el programa se ejecute al iniciar el
servicio. El programa está haciendo lo que debe, puesto que envía
unos mensajes que se están recibiendo en el destino.

Ahora bien, el programa tiene que dejar un icono en el área de
notificación (al lado del reloj de windows), el cual permite hacer
visible una ventana (que está invisible hasta que se hace click en el
icono). No se ve el icono, ni la ventana. Alguna idea?

Gracias a todos!
Respuesta Responder a este mensaje
#4 Marc [MVP Windows]
24/08/2005 - 13:19 | Informe spam
Pues... se tendría que hacer a nivel de código del programa, según entiendo.
Pero aquí me pillas fuera de juego ya que de VB6 sé poco, muy poco. Mira en
los grupos de desarrollo.

Saludos,

Marc
MCP - MVP Windows Shell/User
Oracle9i Certified Associate (OCA)

Este mensaje se proporciona "como está" sin garantías de ninguna clase, y no
otorga ningún derecho.


"Juan Ant." wrote:

Ok. He progresado algo: he conseguido, siguiendo los pasos de la
página que me decía Marc, que el programa se ejecute al iniciar el
servicio. El programa está haciendo lo que debe, puesto que envía
unos mensajes que se están recibiendo en el destino.

Ahora bien, el programa tiene que dejar un icono en el área de
notificación (al lado del reloj de windows), el cual permite hacer
visible una ventana (que está invisible hasta que se hace click en el
icono). No se ve el icono, ni la ventana. Alguna idea?

Gracias a todos!


Respuesta Responder a este mensaje
#5 Ramón Sola [MVP Windows - Shell/User]
24/08/2005 - 20:29 | Informe spam
Hash: SHA1

Imagino que deberás configurar el servicio para que sea interactivo. Para
ello, accede a sus propiedades, ve a la pestaña Iniciar sesión y marca la
casilla "Permitir a los servicios que interactúen con el escritorio". Es
posible que esto no funcione siempre. Puede que la aplicación no se
"entere" de la disponibilidad del área de notificación (como consecuencia
del inicio de sesión de un usuario), intente crear el icono, falle porque
no exista tal área de notificación y no lo intente de nuevo en otra
ocasión.

Cuando crea la barra de tareas y el área de notificación, Explorer.exe
envía el mensaje "TaskbarCreated" (cuyo identificador puede obtenerse
mediante RegisterWindowMessage) a todas las ventanas de alto nivel (por
ejemplo, no a botones, cuadros de texto y otros controles que se definen
como ventanas "hijas"), que lo recogen a través de su procedimiento de
ventana. No sé cómo se procesaría un mensaje tan particular en Visual Basic
6.

Además, permitir a los servicios que interactúen con el escritorio supone
un riesgo de seguridad muy alto, pues obliga al servicio a ejecutarse con
los privilegios de la cuenta del sistema. Por ello Windows Vista (Longhorn)
no admitirá servicios interactivos.

Ramón Sola / / MVP Windows - Shell/User
Para obtener la dirección correcta no hacen falta los sellos.
Por favor, usar el correo sólo para cuestiones ajenas a los
grupos de noticias, gracias.

Cuentan que "Juan Ant." escribió en el mensaje
news: lo siguiente:
Ok. He progresado algo: he conseguido, siguiendo los pasos de la
página que me decía Marc, que el programa se ejecute al iniciar el
servicio. El programa está haciendo lo que debe, puesto que envía
unos mensajes que se están recibiendo en el destino.

Ahora bien, el programa tiene que dejar un icono en el área de
notificación (al lado del reloj de windows), el cual permite hacer
visible una ventana (que está invisible hasta que se hace click en el
icono). No se ve el icono, ni la ventana. Alguna idea?

Gracias a todos!

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida