Windows服务的安装,启动,停止和卸载
生活随笔
收集整理的這篇文章主要介紹了
Windows服务的安装,启动,停止和卸载
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
直接貼代碼如下
public class RunServices{/// <summary>/// 安裝并啟動(dòng)服務(wù)/// </summary>/// <param name="str_ServiceName">服務(wù)名稱(chēng)</param>/// <param name="str_ServiceAbsolutePath">服務(wù)絕對(duì)路徑</param>/// <returns></returns>public static string InstallAndStartService(string str_ServiceName,string str_ServiceAbsolutePath){string str_Message = string.Empty;string svcName = str_ServiceName;// 服務(wù)名字;string[] args = new string[] { str_ServiceAbsolutePath };//@"服務(wù)絕對(duì)路勁" //string[] strArray2 = new string[] { "/u", str_ServiceAbsolutePath };//@"服務(wù)絕對(duì)路勁" 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))//這里是卸載服務(wù)//{// ManagedInstallerClass.InstallHelper(strArray2);//} }return str_Message;}/// <summary>/// 安裝服務(wù)/// </summary>/// <param name="str_ServiceName">服務(wù)名稱(chēng)</param>/// <param name="str_ServiceAbsolutePath">服務(wù)絕對(duì)路徑</param>/// <returns></returns>public static string InstallService(string str_ServiceName, string str_ServiceAbsolutePath){string str_Message = string.Empty;string svcName = str_ServiceName;// 服務(wù)名字;string[] args = new string[] { str_ServiceAbsolutePath };//@"服務(wù)絕對(duì)路勁" //string[] strArray2 = new string[] { "/u", str_ServiceAbsolutePath };//@"服務(wù)絕對(duì)路勁" 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))//這里是卸載服務(wù)//{// ManagedInstallerClass.InstallHelper(strArray2);//} }return str_Message;}/// <summary>/// 啟動(dòng)服務(wù)/// </summary>/// <param name="str_ServiceName">服務(wù)名稱(chēng)</param>/// <returns></returns>public static string StartService(string str_ServiceName){string str_Message = string.Empty;string svcName = str_ServiceName;// 服務(wù)名字;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>/// 停止并卸載服務(wù)/// </summary>/// <param name="str_ServiceName">服務(wù)名稱(chēng)</param>/// <param name="str_ServiceAbsolutePath">服務(wù)絕對(duì)路徑</param>/// <returns></returns>public static string UInstallAndStopService(string str_ServiceName, string str_ServiceAbsolutePath){string str_Message = string.Empty;string svcName = str_ServiceName;// 服務(wù)名字;//string[] args = new string[] { str_ServiceAbsolutePath };//@"服務(wù)絕對(duì)路勁" string[] strArray2 = new string[] { "/u", str_ServiceAbsolutePath };//@"服務(wù)絕對(duì)路勁" try{ServiceController controller = new ServiceController(svcName);if (ServiceIsExisted(svcName))//這里是卸載服務(wù),先停止,再卸載 {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))//這里是卸載服務(wù)//{// ManagedInstallerClass.InstallHelper(strArray2);//} }return str_Message;}/// <summary>/// 卸載服務(wù),跟UInstallAndStopService方法一樣/// </summary>/// <param name="str_ServiceName">服務(wù)名稱(chēng)</param>/// <param name="str_ServiceAbsolutePath">服務(wù)絕對(duì)路徑</param>/// <returns></returns>public static string UInstallService(string str_ServiceName, string str_ServiceAbsolutePath){return UInstallAndStopService(str_ServiceName, str_ServiceAbsolutePath);}/// <summary>/// 停止服務(wù)/// </summary>/// <param name="str_ServiceName">服務(wù)名稱(chēng)</param>/// <returns></returns>public static string StopService(string str_ServiceName){string str_Message = string.Empty;string svcName = str_ServiceName;// 服務(wù)名字;try{ServiceController controller = new ServiceController(svcName);if (ServiceIsExisted(svcName))//這里是卸載服務(wù),先停止,再卸載 {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>/// 判斷是否有此服務(wù)/// </summary>/// <param name="svcName">服務(wù)名稱(chēng)</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?
轉(zhuǎn)載于:https://www.cnblogs.com/baibanr/p/9474543.html
總結(jié)
以上是生活随笔為你收集整理的Windows服务的安装,启动,停止和卸载的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: [ARC062F]Painting Gr
- 下一篇: Batch Normalization