Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - BlaineMonkey

#61
Gracias por tu respuesta.
Eso había pensado si no consigo solucionarlo de otra forma.
De todas formas, me gustaría saber por qué se muere la aplicación tras cerrar sesión y entrar de nuevo si está activada la opción de permitir al servicio que interactue con el escritorio. Si no está activada esa opción no se ve el formulario pero no se muere al cerrar sesión y volver a entrar.

¿Cual es el motivo?
#62
Tengo un servicio de windows en .NET que lanza otra aplicación con formularios. El servicio se lanza con cuenta de sistema local.

Si activo la casilla "permitir a los servicios interactuar con el escritorio" y lanzo el servicio, al hacer login veo el formulario de la aplicación, pero si cierro la sesión activa (por ejemplo administrador) y vuelvo a hacer login, al volver a mostrar el escritorio la aplicación se cuelga.

Sin embargo, si desactivo la casilla "permitir a los servicios que interactuen con el escritorio", y realizo el mismo proceso anetrior (cerrar sesión y volver a abrir) la aplicación funciona perfectamente, únicamente no se ve  el formulario.

¿Por qué pasa esto? ¿Hay alguna solución?
#63
Tengo una aplicación en VB6 con formularios que tiene que seguir funcionando al cerrar sesión y volver a entrar.

Consigo que la aplicación se arranque con el sistema con cuenta de usuario de sistema local es decir no hace falta loguearse para lanzarla.

Al loguearme con el usuario que sea (por ejemplo administrador) veo que se ve el formulario, pero cuando cierro la sesión de administrador y entro nuevamente, el botón de cerrar formulario deja de funcionar.

¿Qué es lo que sucede? ¿Al cerrar la sesión de windows las aplicaciones visual basic 6 pierden el control de los formularios? ¿Cual es el problema? ¿Hay solución?
#64
Ya está solucionado.

He visto que en el servicio estaba el método Main() en lugar del Main(string[] args)

De esta forma ya recoge los argumentos que tiene indicados  en ImagePath
#65
Cuando introduzco los parámetros de inicio en la pestaña general y pulso aceptar (No puedo pulsar aplicar) al volver a abrir las propiedades del servicio vuelve a aparecer sin parámetros. Tengo que iniciar a mano sin cerrar las propiedades para que recoga los argumentos.

Pensaba que editando la etiqueta ImagePath y añadiendo los parámetros al final se solucionaría, pero parece que no los recoge de ahí.

¿Cómo se puede hacer que los parámetros de inicio sean persistentes?
#66
Si, eso hago pero no entra en el for y sí que en ImagePath he añadido los parámetros. Igual es que tienen que ir en otro lado....

#67
Tengo un servicio desarrollado en .NET
Lo he instalado con InstallUtil. El caso es que quiero pasar argumentos a la hora de ejecutar el servicio. He probado a modificar la entrada ImagePath añadiendo los parámetros (por ejemplo: c:\servicios\lanzador.exe 1 2) pero en OnStart parece que no viene ninguno y el Main es un método sin argumentos.

¿Cómo hay que pasarlos para que se recogan en el método OnStart del servicio?
#68
Gracias por tu ayuda. Ya está solucionado, hay que indicar en el servicio que pueda interactuar con el escritorio.


#69
Cita de: elmaro en 12 Enero 2010, 14:49 PM
Las unidades de red se crean cuando se inicia sesion con el usuario. Osea que un servicio no tiene acceso porque no existe, no esta creado. Con system no se pueden crear, pero si el servicio esta levantado con un usuario podrias crear el disco de red con net use

System.Diagnostics.Process.Start("net.exe", "use K: \\\\Server\\path");

http://www.ntcompatible.com/Windows_Service_using_SRVANY_is_not_able_to_acces_network_drive_t34016.html

http://stackoverflow.com/questions/182750/how-to-map-a-network-drive-to-be-used-by-a-service

Muchísimas gracias por la info y tu ayuda. Ahora si consigue acceder a la unidad.
#70
Tengo un servicio de windows realizado en VB.net que ejecuta una aplicación en VB6. Esta aplicación VB6 accede a una unidad de red. El problema es que al lanzar el servicio, se lanza la aplicación VB6 pero esta última no puede acceder a la unidad de red cuando si está montada la unidad. Si lanzo la aplicación VB6 a mano en lugar de hacerlo a través del servicio, sí que puede acceder a la unidad de red. Intento de nuevo lanzandola a través del servicio y no puede. ¿A que se debe? ¿Cómo puedo hacer que la aplicación acceda a la unidad de red cuando se lanza a través del servicio?