Windows服务的安装,启动,停止和卸载
生活随笔
收集整理的這篇文章主要介紹了
Windows服务的安装,启动,停止和卸载
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
直接貼代碼如下
public class RunServices{/// <summary>/// 安裝并啟動服務/// </summary>/// <param name="str_ServiceName">服務名稱</param>/// <param name="str_ServiceAbsolutePath">服務絕對路徑</param>/// <returns></returns>public static string InstallAndStartService(string str_ServiceName,string str_ServiceAbsolutePath){string str_Message = string.Empty;string svcName = str_ServiceName;// 服務名字;string[] args = new string[] { str_ServiceAbsolutePath };//@"服務絕對路勁" //string[] strArray2 = new string[] { "/u", str_ServiceAbsolutePath };//@"服務絕對路勁" try{if (!ServiceIsExisted(svcName)){ManagedInstallerClass.InstallHelper(args);ServiceController controller = new ServiceController(svcName);if (controller.Status == ServiceControllerStatus.Stopped){controller.Start();}str_Message = string.Format("{0} service has been started!", str_ServiceName);}else{str_Message = string.Format("{0} service is not installed!", str_ServiceName);}}catch (Exception exception){str_Message = exception.Message;//if (ServiceIsExisted(svcName))//這里是卸載服務//{// ManagedInstallerClass.InstallHelper(strArray2);//} }return str_Message;}/// <summary>/// 安裝服務/// </summary>/// <param name="str_ServiceName">服務名稱</param>/// <param name="str_ServiceAbsolutePath">服務絕對路徑</param>/// <returns></returns>public static string InstallService(string str_ServiceName, string str_ServiceAbsolutePath){string str_Message = string.Empty;string svcName = str_ServiceName;// 服務名字;string[] args = new string[] { str_ServiceAbsolutePath };//@"服務絕對路勁" //string[] strArray2 = new string[] { "/u", str_ServiceAbsolutePath };//@"服務絕對路勁" try{if (!ServiceIsExisted(svcName)){ManagedInstallerClass.InstallHelper(args);str_Message = string.Format("{0} service has been installed!", str_ServiceName);}else{str_Message = string.Format("{0} service is not installed!", str_ServiceName);}}catch (Exception exception){str_Message = exception.Message;//if (ServiceIsExisted(svcName))//這里是卸載服務//{// ManagedInstallerClass.InstallHelper(strArray2);//} }return str_Message;}/// <summary>/// 啟動服務/// </summary>/// <param name="str_ServiceName">服務名稱</param>/// <returns></returns>public static string StartService(string str_ServiceName){string str_Message = string.Empty;string svcName = str_ServiceName;// 服務名字;try{if (ServiceIsExisted(svcName)){ServiceController controller = new ServiceController(svcName);if (controller.Status == ServiceControllerStatus.Stopped){controller.Start();}str_Message = string.Format("{0} service has been started!", str_ServiceName);}else{str_Message = string.Format("{0} service is not installed!", str_ServiceName);}}catch (Exception exception){str_Message = exception.Message;}return str_Message;}/// <summary>/// 停止并卸載服務/// </summary>/// <param name="str_ServiceName">服務名稱</param>/// <param name="str_ServiceAbsolutePath">服務絕對路徑</param>/// <returns></returns>public static string UInstallAndStopService(string str_ServiceName, string str_ServiceAbsolutePath){string str_Message = string.Empty;string svcName = str_ServiceName;// 服務名字;//string[] args = new string[] { str_ServiceAbsolutePath };//@"服務絕對路勁" string[] strArray2 = new string[] { "/u", str_ServiceAbsolutePath };//@"服務絕對路勁" try{ServiceController controller = new ServiceController(svcName);if (ServiceIsExisted(svcName))//這里是卸載服務,先停止,再卸載 {if (controller.Status == ServiceControllerStatus.Running){controller.Stop();}ManagedInstallerClass.InstallHelper(strArray2);str_Message = string.Format("{0} service has been unloaded!", str_ServiceName);}else{str_Message = string.Format("{0} service is not installed!", str_ServiceName);}}catch (Exception exception){str_Message = exception.Message;//if (ServiceIsExisted(svcName))//這里是卸載服務//{// ManagedInstallerClass.InstallHelper(strArray2);//} }return str_Message;}/// <summary>/// 卸載服務,跟UInstallAndStopService方法一樣/// </summary>/// <param name="str_ServiceName">服務名稱</param>/// <param name="str_ServiceAbsolutePath">服務絕對路徑</param>/// <returns></returns>public static string UInstallService(string str_ServiceName, string str_ServiceAbsolutePath){return UInstallAndStopService(str_ServiceName, str_ServiceAbsolutePath);}/// <summary>/// 停止服務/// </summary>/// <param name="str_ServiceName">服務名稱</param>/// <returns></returns>public static string StopService(string str_ServiceName){string str_Message = string.Empty;string svcName = str_ServiceName;// 服務名字;try{ServiceController controller = new ServiceController(svcName);if (ServiceIsExisted(svcName))//這里是卸載服務,先停止,再卸載 {if (controller.Status == ServiceControllerStatus.Running){controller.Stop();}str_Message = string.Format("{0} service has been stoped!", str_ServiceName);}else{str_Message = string.Format("{0} service is not installed!", str_ServiceName);}}catch (Exception exception){str_Message = exception.Message;}return str_Message;}/// <summary>/// 判斷是否有此服務/// </summary>/// <param name="svcName">服務名稱</param>/// <returns></returns>public static bool ServiceIsExisted(string svcName){foreach (ServiceController controller in ServiceController.GetServices()){if (controller.ServiceName == svcName){return true;}}return false;}} View Code?
轉載于:https://www.cnblogs.com/baibanr/p/9474543.html
總結
以上是生活随笔為你收集整理的Windows服务的安装,启动,停止和卸载的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [ARC062F]Painting Gr
- 下一篇: Batch Normalization