MSMVPS.COM
The Ultimate Destination for Blogs by Current and Former Microsoft Most Valuable Professionals.

How To: Cómo activar un servicio de Windows

Blogs

El blog de Lluis Franco

Syndication

O lo que es lo mismo, cómo cambiar el modo de inicio a un servicio de Windows.

WindowsService

Este post va a ser muy breve, y con un poco de suerte mañana os lo explico con más detalle :-D

El tema es que tenía que iniciar el servicio SQL Server Browser por código, cosa muy sencilla de realizar mediante la clase ServiceController. El problema es que este servicio viene deshabilitado ‘de fábrica‘ en las ediciones express, y al intentar iniciarlo da un error.

Para cambiar el modo de inicio existen dos formas (si alguien conoce una tercera, por favor que me lo diga :-P), la primera es cambiando un valor DWORD del servicio en el registro de Windows (Clave = “HKLM\System\CurrentControlSet\Services\ServiceName” valor = “Start”) y la otra es mediante WMI. La primera no se recomienda ya que no se asegura que en futuras versiones funcione, así que vamos a por la segunda:

public static void enableService(string serviceName, ServiceStartType startType)
{
    string path = "Win32_Service.Name='" + serviceName + "'";
    ManagementPath p = new ManagementPath(path);
    ManagementObject ManagementObj = new ManagementObject(p);
    object[] parameters = new object[1];
    parameters[0] = startType;
    ManagementObj.InvokeMethod("ChangeStartMode", parameters);
}
 

Siendo StartType una enumeración con loas siguientes valores:

public enum ServiceStartType
{
    Automatic = 2,
    Manual = 3,
    Disabled = 4
}

Eso es todo, mañana más...

Un saludo,

** crossposting desde el blog de Lluís Franco en geeks.ms **

Posted Mon, Mar 9 2009 17:58 by lfranco

Comments

ffhfhh wrote re: How To: Cómo activar un servicio de Windows
on Mon, Jan 24 2011 9:33

fhgfh

Add a Comment

(optional)  
(optional)
(required)  
Remember Me?
If you can't read this number refresh your screen
Enter the numbers above: