- Permite ejecutar programas como servicios en segundo plano y de arranque.
- Existen métodos clásicos (instsrv y srvany) y modernos (sc.exe) para configurarlos.
- Requiere precaución al manipular el registro y rutas del sistema para evitar errores.
¿Te has preguntado alguna vez cómo ejecutar un programa como servicio en Windows a través de System32? Este procedimiento puede parecer reservado a usuarios avanzados, pero en realidad, con las indicaciones correctas y atención a los detalles, se puede realizar en distintas versiones de Windows sin complicaciones. Los servicios de Windows son aplicaciones que se ejecutan en segundo plano y que, a menudo, requieren privilegios especiales o deben estar disponibles antes incluso de que un usuario inicie sesión.
Hoy vamos a desmenuzar todas las opciones viables para crear y ejecutar un mini servicio de Windows, partiendo de la carpeta System32, con los métodos más seguros y efectivos. Te explicaremos tanto herramientas nativas como utilidades externas, trucos para distintas versiones del sistema operativo y recomendaciones para no perder el control en el proceso. ¡Vamos allá!
¿En qué consiste crear un servicio de Windows desde System32?
Un servicio de Windows es un programa capaz de ejecutarse en segundo plano, gestionado por el propio sistema operativo. A diferencia de otros programas que arrancan tras iniciar sesión, los servicios pueden ejecutarse incluso si ningún usuario ha iniciado sesión. Ubicarlos en C:\Windows\System32 es habitual para servicios críticos del sistema, aunque cualquier ejecutable ubicado aquí puede estar disponible para todos los usuarios, por lo que es una ubicación común para instalar servicios personalizados.
Herramientas y utilidades necesarias para crear el servicio
Para transformar una aplicación en servicio en Windows, sobre todo versiones como XP, 2003, Windows 7, 8 o 10 y aún Server 2008, existen varias opciones. A continuación, te resumimos las herramientas más empleadas:
- instsrv.exe – Utilidad del Resource Kit de Microsoft para instalar o quitar servicios.
- srvany.exe – Permite ejecutar cualquier aplicación como servicio, incluso si esta no fue diseñada para ello.
- sc.exe – Herramienta de línea de comandos que viene integrada en Windows, utilizada para crear, configurar y controlar servicios.
- Regedt32.exe/regedit.exe – Editores de registro para ajustar rutas y parámetros del servicio.
La combinación de estas utilidades te permitirá instalar servicios personalizados en tu sistema Windows.
Método clásico: usando Instsrv.exe y Srvany.exe
El método más clásico, aún válido para muchas versiones de Windows, consiste en el uso de Instsrv y Srvany, utilidades proporcionadas por Microsoft en los Resource Kits.
Puedes encontrarlas como parte del Windows NT Resource Kit o descargarlas de sitios oficiales de Microsoft. Debes copiar ambos archivos a la carpeta System32 para que estén disponibles desde cualquier lugar del sistema.
El procedimiento general es:
- Abrir la consola de comandos (CMD) como administrador.
- Ejecutar el comando:
instsrv.exe "NombreDelServicio" srvany.exe
Por ejemplo:C:\Windows\System32\instsrv.exe Notepad C:\Windows\System32\srvany.exe
- Editar el registro de Windows para asociar el ejecutable que quieres que se ejecute como servicio:
- Abre el editor de registro con regedit o regedt32.
- Navega a
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
. - Crea una subclave llamada Parameters.
- En esta clave, crea un valor de tipo REG_SZ llamado Application. Su valor debe ser la ruta completa del ejecutable que se desea lanzar como servicio (por ejemplo,
C:\Windows\System32\notepad.exe
).
- Guarda los cambios y cierra el editor de registro.
- Inicia el servicio desde el Panel de Control > Servicios o desde la línea de comandos con:
NET START NombreDelServicio
Este método es sencillo y muy flexible, aunque requiere modificar el registro de Windows, por lo que es recomendable crear una copia de seguridad antes de cualquier alteración.
Método moderno: utilizando SC.EXE para crear servicios
En versiones recientes de Windows, incluida Windows 10 y Server, sc.exe es la herramienta preferida para la gestión de servicios vía línea de comandos. Permite crear nuevos servicios, establecer parámetros de inicio, dependencias y más, todo desde la consola.
La sintaxis básica es:
sc.exe create "NombreServicio" binpath= "C:\Windows\System32\ejemplo.exe" start= auto
Parámetros principales:
- binpath= Ruta completa al ejecutable a lanzar como servicio (imprescindible).
- type= Tipo de proceso (own: proceso independiente, share: compartido).
- start= Tipo de inicio (auto: automático, demand: manual, disabled: deshabilitado, delayed-auto: inicia tras un retardo breve para servicios automáticos, boot/system: para controladores).
- depend= Especifica servicios de los que depende este servicio (si los hay).
- obj= Cuenta de usuario bajo la que se ejecuta el servicio (por defecto LocalSystem).
- displayname= Nombre descriptivo que aparecerá en la consola de servicios.
Ejemplo práctico para añadir un servicio que ejecuta un archivo miapp.exe
desde System32:
sc.exe create MiServicio binpath= "C:\Windows\System32\miapp.exe" start= auto
Con este método no necesitas editar el registro manualmente y tienes control total desde la línea de comandos.
Configuración y gestión post-instalación
Una vez creado el servicio, puedes ajustarlo según tus necesidades:
- Cambia el modo de inicio (automático, manual o deshabilitado) desde services.msc o la consola sc.exe config.
- Inicia o detén el servicio mediante los comandos:
NET START NombreDelServicio
NET STOP NombreDelServicio
- Elimina el servicio si es necesario con:
sc.exe delete NombreDelServicio
Para servicios creados con srvany/instsrv, puedes editar los parámetros en el registro para cambiar el ejecutable asociado o su ruta.
Trucos y consejos para evitar problemas comunes
Crear servicios modificando rutas y ejecutables puede ocasionar fallos si no se siguen ciertas precauciones. Aquí tienes consejos clave:
- Haz siempre una copia de seguridad del registro antes de cualquier modificación.
- Asegúrate de que el ejecutable que vas a convertir en servicio es confiable y compatible con funcionamiento como servicio.
- Si el servicio no inicia, revisa el registro de eventos de Windows para identificar errores y posibles permisos insuficientes.
- Utiliza cuentas de usuario con los privilegios mínimos necesarios al crear servicios críticos.
Prueba siempre los servicios en entornos de testeo antes de implementarlos en sistemas de producción.
Solución de errores relacionados con System32 y el registro de Windows
En ocasiones, el propio directorio de System32 o rutas como config\systemprofile\Desktop pueden dar problemas, especialmente tras actualizaciones de Windows o fallos en el sistema. Si te enfrentas a mensajes del tipo “C:\Windows\system32\config\systemprofile\Desktop no está disponible”, sigue estos métodos:
1. Restaurar la ruta predeterminada del escritorio
Desde el explorador de archivos pulsa Win + E, haz clic derecho sobre Escritorio, selecciona Propiedades > Ubicación y pulsa en “Restaurar valores predeterminados”. Eso debería solventar problemas con rutas erróneas.
2. Copiar la carpeta Desktop desde el usuario por defecto
Revela archivos ocultos, accede a C:\Users\Default\ y copia la carpeta Desktop a C:\Windows\system32\config\systemprofile. Así recuperas el escritorio para ese perfil.
3. Revisa la configuración desde el registro
Abre regedit y comprueba en HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
que el valor de Desktop apunta a C:\Users\%USERNAME%\Desktop
o a %USERPROFILE%\Desktop
.
4. Crear una cuenta de usuario nueva
Si todo falla, crea una nueva cuenta desde el panel de control o mediante el comando control userpasswords2
en el CMD con privilegios. Asigna derechos y traslada los archivos del usuario antiguo.
5. Usa el comprobador de archivos del sistema
Ejecuta sfc /scannow
desde el CMD como administrador para buscar y reparar archivos corruptos.
6. Actualiza o reinstala Windows
Si ninguna solución funciona, una actualización in situ o reinstalación puede restaurar el funcionamiento sin perder archivos importantes.
Opciones avanzadas: gestión completa de servicios con SC.EXE
Para los que buscan personalizar completamente el comportamiento de un servicio, SC.EXE ofrece una batería de parámetros:
- type= para definir si el servicio es propio (own), compartido, kernel, etc.
- group= para asignar el servicio a un grupo de carga concreto.
- tag= sí/no para obtener identificadores de controladores.
- depend= define servicios o grupos de los que depende el servicio.
- obj= para indicar la cuenta en la que se ejecuta (útil para permisos especiales).
- displayname= para dar nombre amigable al servicio.
- password= si el servicio necesita credenciales distintas.
Un ejemplo muy completo sería:
sc.exe create MiServicio binpath= "C:\Windows\System32\miapp.exe" type= own start= auto depend= +TDI NetBIOS obj= "NT AUTHORITY\\LocalService" displayname= "Mi Servicio de Prueba" password= "mi_clave"
Así, puedes automatizar instalaciones de servicios en varios equipos, ideal en entornos empresariales.
Redactor apasionado del mundo de los bytes y la tecnología en general. Me encanta compartir mis conocimientos a través de la escritura, y eso es lo que haré en este blog, mostrarte todo lo más interesante sobre gadgets, software, hardware, tendencias tecnológicas, y más. Mi objetivo es ayudarte a navegar por el mundo digital de forma sencilla y entretenida.