
Creando servicios en windows
Pues resulta que necesito que una aplicación se ejecute sin que yo tenga que hacer nada, y en Windows tengo varias formas de hacerlo.
Esta no es la forma más simple pero es la que más me cuadra.
Lo primero es lo primero. Prerrequisitos.
Prerequisitos
Pues la verdad es que poco hace falta.
Con tener un par de cosas claras y permisos de administrador, tenemos suficiente.
La primera es clara. Necesitamos saber donde está el ejecutable, como debemos lanzarlo y sobre que directorio de trabajo, y donde están sus configuraciones.
Yo tengo mis binarios en el sistema, y la configuración, el fichero por lotes de arranque,y el directorio de trabajo van a estar en c:\servicio-secreto
.
En principio, si podemos lanzarlo desde un “dos
”, desde el símbolo de sistema, colocándonos en la ubicación, es suficiente, en principio.
Yo lo voy a hacer desde la consola de CMD. Para los efectos, no es lo mismo la interpretación clásica que la que hace powershell.
Creando el servicio
Tan solo es necesario ejecutar desde vuestro terminal favorito algo tan simple como sc create ServicioSecreto binpath="c:\servicio-secreto\servicio-secreto.bat c:\servicio-secreto\servicio-secreto.toml" displayname="Servicio Secreto" start=delayed-auto
Muy simple.
Si lo hemos hecho bien, vamos a obtener esa respuesta, [SC] CreateService SUCCESS
o similar en el idioma del sistema operativo. Cualquier otra cosa… error. Repasa y vuelve a intentarlo.
Consideraciones avanzadas de la creación
Hay dos parámetros como son start=
y depend=
que permiten hacer cosas como retrasar un arranque o hacer que dependa de otros servicios o sistemas.
start= <boot|system|auto|demand|disabled|delayed-auto>
(default = demand)
error= <normal|severe|critical|ignore>
(default = normal)
depend= <Dependencies(separated by / (forward slash))>
Es simple. Solo hay que tener claro que esperamos y cuando lo queremos.
Borrando el servicio
Borrar un servicio es tan simple como para poder hacerlo por esta misma interfaz, con sc delete
o para liarnos y hacerlo por medio de regedit
.
Con sc delete serviciosecreto
lo solucionamos. Eso si, debe ser el nombre del servicio, no el contenido del displayname
que puede ser largo, complejo, e inducir a fallos.
Para hacerlo con regedit
simpemente hay que buscar la rama HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Service
donde están todos los servicios.
Pensamientos paralelos
Pensando una cosa… Sí están ahí todos los servicios que tanto apestan a los afamados optimizadores de distribuciones, ¿Por qué no los eliminan directamente?
Es más sencillo borrar por regedit que andar buscando y deshabilitando servicios.
Así no hay forma de volver atrás cuando Windows se rompa. Es un win-win que os permitirá probar Fedora o aprender que Windows no se “optimiza”.
YoVirtualizador en formato podcast. Ahora también en Sospechosos Habituales: https://feedpress.me/sospechososhabituales
Sin más, os dejo los enlaces:
Web: https://www.yovirtualizador.com
Grupo de telegram: https://t.me/grupovirtualizador
Podcast: https://www.ivoox.com/podcast-yovirtualizador_fg_f1563806_filtro_1.xml
Canal de youtube: https://www.youtube.com/channel/UC0R70cABSsmC6TFyXth0qPg
Enlace de afiliados de amazon: https://amzn.to/3gX3HmK
Enlace de referidos de la Asociación Podcast: https://www.asociacionpodcast.es/registrarse/socio/?coupon=SB6A70