¿Cómo instalo un servicio de Windows mediante programación sin utilizar installutil.exe?Instalación de servicios de Windows mediante programación
Respuesta
Puede instalar el servicio mediante la adición de este código (en el archivo de programa, Program.cs) para instalarse cuando se ejecuta desde la línea de comandos usando los parámetros especificados:
/// <summary>
/// The main entry point for the application.
/// </summary>
static void Main(string[] args)
{
if (System.Environment.UserInteractive)
{
if (args.Length > 0)
{
switch (args[0])
{
case "-install":
{
ManagedInstallerClass.InstallHelper(new string[] { Assembly.GetExecutingAssembly().Location });
break;
}
case "-uninstall":
{
ManagedInstallerClass.InstallHelper(new string[] { "/u", Assembly.GetExecutingAssembly().Location });
break;
}
}
}
}
else
{
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[] { new MyService() };
ServiceBase.Run(ServicesToRun);
}
}
Ese enlace está caído. –
Aunque esta es una manera clara y adecuada de hacerlo en lugar de utilizar advapi32.dll de "bajo nivel", la documentación del marco dice "Esta API admite la infraestructura de .NET Framework y no está destinada a ser utilizada directamente desde su código". Pero aún prefiero "ManagedInstallerClass" y los riesgos de futuras incompatibilidades en las nuevas versiones .net. (http://msdn.microsoft.com/pt-br/library/system.configuration.install.managedinstallerclass) – Luciano
Instalo y desinstalo mi servicio de Windows a través de la línea de comandos, por ejemplo, MyWindowsService.exe -install
y MyWindowsService.exe -uninstall
, para evitar usar installutil.exe
. He escrito un conjunto de instrucciones sobre cómo hacer esto here.
El OP preguntó cómo hacer esto programáticamente, no a través de la línea de comando. – Mike
Mi solución es una solución programática a la que se accede a través de la línea de comando de la misma manera que la respuesta aceptada. –
utilizo el método de la siguiente CodeProject artículo, y funciona genial.
Excelente enlace; sin embargo, hace referencia a un enlace escrito por Mahmoud Nasr que está roto. Usé esto y funciona para mí. https://msdn.microsoft.com/en-us/library/zt39148a(v=vs.110).aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-1 –
Mientras que este enlace puede responder la pregunta, es mejor incluir las partes esenciales de la respuesta aquí y proporcionar el enlace de referencia. Las respuestas de solo enlace pueden dejar de ser válidas si la página vinculada cambia. - [De la opinión] (/ reseña/mensajes de baja calidad/18705889) – amod
- 1. Windows Instalación PHPUnit mediante PEAR - Instalación de PHPUnit mediante PEAR
- 2. Reiniciar mediante programación un servicio de Windows
- 3. ¿Cómo instalar un servicio de Windows mediante programación en C#?
- 4. Instalación de un controlador mediante programación mediante el archivo INF C++
- 5. ¿Cómo mover la barra de tareas de Windows mediante programación?
- 6. necesita una manera de comprobar el estado del servicio de Windows mediante programación
- 7. Agregar una aplicación mediante programación a Firewall de Windows
- 8. ¿Cómo detener un servicio de Windows mediante programación?
- 9. Cambiar el usuario del servicio de Windows mediante programación
- 10. mediante programación en C#
- 11. Conexión a TFSPreview mediante programación
- 12. Windows: ¿Qué lenguaje de programación?
- 13. Marco de servicios de Windows?
- 14. Batch Script - Crear usuario en Windows XP mediante programación
- 15. Cómo responder mediante programación a Snap en Windows 8 Metro
- 16. C# Servicios de Windows Alternativa
- 17. Servicios de Windows en EC2?
- 18. Crear un botón mediante programación en Windows Phone 7 (WP7)
- 19. Confirme la impresión exitosa mediante programación en Windows
- 20. ImageBrush de cuadrícula mediante programación
- 21. ¿Variables de entorno modificadas mediante programación?
- 22. Carpetas de instalación de Windows
- 23. ¿Cómo puedo obtener la ruta de instalación de otra aplicación mediante programación?
- 24. En servicios web tranquilos cómo obtener un nombre de usuario o contraseña mediante programación (autenticación básica)
- 25. Deshabilitar mediante programación window.location.reload?
- 26. ¿Consulta mediante programación MSDN?
- 27. Instalación de MatPlotLib en Windows
- 28. Instalación de PHP en Windows
- 29. Instalación de virtualenvwrapper en Windows
- 30. instalación de pycurl en Windows
y no utilizar cualquier otro instaladores de 3 ª parte? –
sí ... me gustaría poder utilizar una función como installservice() y cuando hago doble clic en windowsservice.exe, comprueba si está instalado, si no está instalado, se instala solo. – Josh
esa es una buena función :) :) – Danail