標籤:style blog ar io color os 使用 sp on
先說明一下windows服務開發前要明白的東西,DOS
程式所在實體路徑
D:\workObject\xx.exe
輸入CMD
cd C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
cd C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319
安裝服務
installUtil D:\workObject\xx.exe
卸載服務
installUtil /u D:\workObject\xx.exe
查看Window服務
services.msc
C:\>
使用命令列啟動服務
在cmd下可有兩種方法開啟,net和sc,net用於開啟沒有被禁用的服務,文法是:
net start 服務名 啟動 net start 服務名
net stop 服務名 停止 net stop 服務名
用sc可開啟被禁用的服務,文法是:
sc config 服務名 start= demand //手動
sc condig 服務名 start= auto //自動
sc config 服務名 start= disabled //禁用
sc start 服務名
sc stop 服務名
下面是執行個體代碼
/// <summary> /// 應用程式的主進入點。 /// </summary> static void Main(string[] args) { log4net.Config.XmlConfigurator.Configure(); // 同一進程中可以運行多個使用者服務。若要將 // 另一個服務添加到此進程中,請更改下行以 // 建立另一個服務物件。例如, // // ServicesToRun = new ServiceBase[] {new Service1(), new MySecondUserService()}; // if (args.Length == 0) { ServiceBase[] ServicesToRun; ServicesToRun = new ServiceBase[] { new RemoveCacheService() }; ///new ServiceBase[] { new Service1() }; 實現邏輯入口 ServiceBase.Run(ServicesToRun); } // 安裝服務 else if (args[0].ToLower() == "/i" || args[0].ToLower() == "-i") { try { string[] cmdline = { }; string serviceFileName = System.Reflection.Assembly.GetExecutingAssembly().Location; TransactedInstaller transactedInstaller = new TransactedInstaller(); AssemblyInstaller assemblyInstaller = new AssemblyInstaller(serviceFileName, cmdline); transactedInstaller.Installers.Add(assemblyInstaller); transactedInstaller.Install(new System.Collections.Hashtable()); } catch (Exception ex) { string msg = ex.Message; } } // 刪除服務 else if (args[0].ToLower() == "/u" || args[0].ToLower() == "-u") { try { string[] cmdline = { }; string serviceFileName = System.Reflection.Assembly.GetExecutingAssembly().Location; TransactedInstaller transactedInstaller = new TransactedInstaller(); AssemblyInstaller assemblyInstaller = new AssemblyInstaller(serviceFileName, cmdline); transactedInstaller.Installers.Add(assemblyInstaller); transactedInstaller.Uninstall(null); } catch (Exception ex) { string msg = ex.Message; } } }
C# windows 服務 操作執行個體