Crear ejecutable a partir de un .pyw

Juan Manuel Ruiz Garcia juanma en mailmadrid.com
Mie Dic 5 13:06:21 CET 2007


Pues ahí va:

COMO HACER UN SERVICIO A PARTIR DE UN EJECUTABLE
Para poder realizar esta operación, nos apoyaremos siempre en dos
utilidades llamadas INSTSERV.EXE y SRVANY.EXE.
Pasos a seguir:

1) asegurarnos que estas dos aplicaciones se encuentran en un directorio
del PATH, preferiblemente %SystemRoot%\system32.

2) Elegir un "nombre corto" para el servicio. Este "nombre corto" será el
que se muestre en la lista de servicios del operativo y el que
necesitaremos para lanzar comandos de arranque y parada como ‘net start’ o
‘net stop’. Igualmente necesitamos saber cuál será el directorio de
ejecución de la aplicación que queremos correr como servicio y los
parámetros de línea de comando que vamos a querer utilizar.

3) Una vez que conocemos todos estos datos, vamos a crear el servicio con
el nombre elegido, haciendo uso de los dos programas auxiliares:

instsrv "Nombre del Servicio" "ruta completa de srvany.exe"

	Con este comando, tenemos el servicio {Nombre Servicio} creado, apuntando
a la ejecución de srvany.exe

4) Ahora hay que indicar qué programa ha de ser ejecutado realmente. Para
ello debemos buscar en el registro la clave:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\{Nombre Servicio}

Y creamos la subclave:
"Parameters"
Donde incluiremos los siguientes valores alfanuméricos (REG_SZ):
• AppDirectory, donde escribiremos la ruta de la carpeta de ejecución del
programa
• Application, donde escribiremos el ejecutable del programa, con la ruta
completa
• AppParameters, donde escribiremos los parámetros con los que ejecutarla


> Buenas,
>
> La verdad es que suena bien. Si no te importa me gustaría conocer de esa
> técnica y probarla. Pásame esa receta y pruebo. También probaré con el
> método Python que sugirieron los amigos.
>
> Muchas Gracias> Hola,> > otra opción, aunque bastant más cutre (desde
> luego off-python) es tirar de> las utilidades de Windows "INSTSRV" y
> "SRVANY" que permiten hacer correr> como servicio un ejecutable
> "cualquiera". Yo lo he usado precisamente para> ficheros exe generados con
> py2exe y me lleva funcionando desde hace años> sin un problema.> > Dime si
> te puedo interesar esta solución y te dejo una receta que me> escribí para
> repetirla si me hacía falta.> > Un saludo> > > >>> Gracias Chema y tny ...
> pero, esos enlaces que me habeis enviado, si> >>> no he entendido mal (es
> mu probable q haya entendido mal, soy un bolo> >>> en inglés), son para
> poner el script python como servicio. Pero el caso> >>> es que yo primero
> quiero crear un ejecutable a partir del script y> >>> después hacerlo
> correr como servicio para poder ejecutarlo en cualquier> >>> W$ que no
> tenga python instalado. El ejecutable lo creo, pero al> >>> ponerlo como
> oservicio me da el error que comentaba.> >>> >> Esos enlaces son para que
> crear servicios en python. Tal vez estás> >> pensando que los servicios
> como como los "daemons" de linux y no es> >> así. Los servicios tienen que
> responder a una serie de llamadas de la> >> API de windows, que es el
> motivo por el que windows rechaza tu script> >> por no responder a la
> inicialización.> >> > Para ponerlo aún más claro: *primero* deberías
> lograr que tu script> > funcione como servicio, siguiendo las
> instrucciones de los links que te> > dieron por aquí. Y sólo *después* que
> tu servicio esté funcionando> > correctamente, usar py2exe para generar el
> ejecutable final.> > > _______________________________________________>
> Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es>
> FAQ: http://listas.aditel.org/faqpyes
> _________________________________________________________________
> Tecnología, moda, motor, viajes,…suscríbete a nuestros boletines para
> estar a la última
> http://newsletters.msn.com/hm/maintenanceeses.asp?L=ES&C=ES&P=WCMaintenance&Brand=WL&RU=http%3a%2f%2fmail.live.com_______________________________________________
> Lista de correo Python-es
> http://listas.aditel.org/listinfo/python-es
> FAQ: http://listas.aditel.org/faqpyes


_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





Más información sobre la lista de distribución Python-es