private static List <ServiceInfo> GetEasyServices() { Console.Write("Getting all EasyServices, please wait..."); Console.Out.Flush(); var hasCircle = false; var infoList = new List <ServiceInfo>(); foreach (var sc in ServiceController.GetServices()) { var name = sc.ServiceName; var mngObj = GetServiceManagementObjectByName(name); var path = mngObj["PathName"].ToString(); if (path != Libs.BinPath) { continue; } var description = mngObj["Description"].ToString(); var confDir = GetCwdInDescription(description); var info = new ServiceInfo(sc, confDir); if (!Libs.InsertInto(infoList, info, ServiceInfo.IsDepend)) { Console.WriteLine("\r\n[ERROR] Circle dependencies detected"); infoList.Add(info); hasCircle = true; } } if (!hasCircle) { Console.Write($"\r{"".PadRight(60)}\r"); Console.Out.Flush(); } if (infoList.Count == 0) { Libs.Abort($"No EasyService found"); } return(infoList); }