1
Answer

How to find Dependencies of a Window Services through C# code ?


How to find Dependencies of a Window Services through C# code ?
If you click the properties of a window service, you will see the dependency tab.
I need to find this out through my code and display the dependencies on my screen.
Depend.PNG
Answers (1)
0
Zoran Horvat
NA 5.7k 516.3k 14y
Use ServiceController class (requires System.ServiceProcess reference).

This code prints all services with all their depending-on services:

static void Main(string[] args)
{

    System.ServiceProcess.ServiceController[] services = System.ServiceProcess.ServiceController.GetServices();

    int nameLen = 0;
    for (int i = 0; i < services.Length; i++)
        nameLen = Math.Max(nameLen, services[i].ServiceName.Length);

    string fmt = "{0," + nameLen.ToString() + "} ->";

    for (int i = 0; i < services.Length; i++)
    {
        Console.Write(fmt, services[i].ServiceName);

        System.ServiceProcess.ServiceController[] parents = services[i].ServicesDependedOn;

        for (int j = 0; j < parents.Length; j++)
        {
            Console.Write("{0}", j == 0 ? " " : ", ");
            try
            {
                Console.Write("{0}", parents[j].ServiceName);
            }
            catch
            {
                Console.Write("<N/A>");
            }
        }

        Console.WriteLine();
    }

}

Accepted