Windows服務的安裝與解除安裝
Windows服務的安裝與解除安裝。
1、服務資訊的設定
首先建立一個Windows服務專案,本示例中的專案名稱為:MyTest.WindowsService。
編寫服務啟動和關閉方法,記錄一些日誌資訊,方便後續檢視服務的狀態。
using System; using System.ServiceProcess; using System.Text; using System.IO; namespace MyTest.WindowsService { public partial class Service1 : ServiceBase { public Service1() { InitializeComponent(); } protected override void OnStart(string[] args) { WriteLog("服務啟動"); } protected override void OnStop() { WriteLog("服務關閉"); } /// <summary> /// 記錄日誌 /// </summary> private void WriteLog(string message) { string path = AppDomain.CurrentDomain.BaseDirectory + "/MyLog.txt"; using (StreamWriter txt = new StreamWriter(path, true, Encoding.Default)) { txt.Flush(); txt.WriteLine("時間:" + DateTime.Now); txt.WriteLine("內容:" + message); txt.WriteLine("------------------------"); txt.Close(); } } } }
1.1 新增安裝程式
雙擊Service1.cs檔案 —> 切換到Service1.cs[設計]介面 —> 右擊選擇“新增安裝程式”。
這時專案中會自動添加了一個新類 ProjectInstaller.cs 類,和兩個安裝控制元件 ServiceProcessInstaller 和 ServiceInstaller。
1.2 設定ServiceProcessInstaller控制元件資訊
選中“serviceProcessInstaller1” 控制元件,F4開啟屬性面板。
將Account屬性改為 LocalSystem。
1.3 設定ServiceInstaller控制元件資訊
選中“serviceInstaller1” 控制元件,F4開啟屬性面板。
Description:服務程式的描述資訊。
DisplayName:服務程式顯示的名稱。
ServiceName:指示系統用於標識此服務的名稱。
StartType:指定如何啟動服務 (Manual:服務安裝後,必須手動啟動;Automatic:每次計算機重新啟動時,服務都會自動啟動;Disabled:服務無法啟動)。
1.4 生成專案
選擇“Release”,編譯生成專案。
本示例中生成後的專案在 D:\MyTestProject\MyTest.WindowsService\bin\Release\MyTest.WindowsService.exe。
2、服務的安裝與解除安裝(方式一)
方式一:使用CMD命令。
安裝命令:
installutil.exe D:\MyTestProject\MyTest.WindowsService\bin\Release\MyTest.WindowsService.exe
解除安裝命令:
installutil.exe /u D:\MyTestProject\MyTest.WindowsService\bin\Release\MyTest.WindowsService.exe
2.1 安裝服務
(1)開始 —> 執行 —> 鍵入cmd,開啟命令視窗。
(2)進入安裝程式工具 (Installutil.exe)的目錄底下,命令:cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
(3)安裝服務,命令:installutil.exe D:\MyTestProject\MyTest.WindowsService\bin\Release\MyTest.WindowsService.exe
2.2 解除安裝服務
(1)解除安裝服務,命令:installutil.exe /u D:\MyTestProject\MyTest.WindowsService\bin\Release\MyTest.WindowsService.exe
3、服務的安裝與解除安裝(方式二)
方式二:使用bat批處理檔案。
3.1 安裝服務
(1)建立MyServiceInstaller.bat批處理檔案。
(2)開啟該檔案,輸入命令:
%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\InstallUtil D:\MyTestProject\MyTest.WindowsService\bin\Release\MyTest.WindowsService.exe
pause
(3)點選檔案,執行安裝服務。
3.2 解除安裝服務
(1)建立MyServiceUnInstaller.bat批處理檔案。
(2)開啟該檔案,輸入命令:
%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\InstallUtil /u D:\MyTestProject\MyTest.WindowsService\bin\Release\MyTest.WindowsService.exe
pause
(3)點選檔案,執行解除安裝服務。