基于0起步來建立一個服務,做到簡單的記錄時間日志功能,其具體招行方法可自行添加。
1.建立服務
2.删除預設服務檔案
3.添加自己的服務檔案
4.更改啟動項目
5. 引用 using System.Timers;并添加FileClass類
FileClass類
6. 添加上步中需要的InitService()方法
7. 解決System不包含windows屬性問題,引用程式集。
8.添加上面引用 的 tim_Elapsed 定時方法
9.此時生成解決方案是成功的
10.在OnStart等中寫入自己的方法,這裡用日志記錄
11.給服務添加安裝程式。右鍵滑鼠單擊MainService.cs[設計]*頁籤選項“添加安裝程式”。
12.可以看見項目中多了如下檔案群組件,serviceProcessInstaller1、serviceInstaller1是自動生成的
13.設定元件serviceInstaller1的主要屬性,StartType: AutoMatic自動啟動;ServiceName: 服務系統辨別,在cmd指令中執行sr start/stop/query等等指令時候使用,用來唯一辨別一個Window服務
14.設定元件serviceProcessInstaller1的主要屬性,Accout:賬戶類型,LocalSystem本地系統服務;
15.設定服務安裝後“允許和桌面進行互動”,
需要在ProjectInstaller.cs中添加如下代碼。
16.Windows服務的安裝和解除安裝
代碼寫完後,編譯通過後,就可以安裝、解除安裝、調試服務了。
在執行安裝或解除安裝服務前,我有把服務需要的相關檔案,複制到C:\Service\下面或其他路徑。一旦安裝完成後,此目錄不能變更,否則不能解除安裝該服務和服務運作會報錯。
安裝、解除安裝很簡單,隻要在VS指令行導航到,服務程式的路徑。然後運作以下指令就OK了。
打開如圖:
安裝服務:installutil C:\Service\TerminalTrance.exe
解除安裝服務:installutil /u C:\Service\TerminalTrance.exe
調試的話,隻能先安裝啟動服務,然後将該服務附加到程序,就可以調試了。安裝好服務後,就可以在win7服務管理裡面,管理剛剛啟動的服務了。
安裝成功後可在服務中看到
在服務程式中可以看到添加的服務
可以看到程式的日志記錄
另外一個方法是生成安裝exe程式
1.解決方案右鍵=》建立項目=》選擇安裝程式
2.安裝項目右鍵=》添加=》項目輸出,選擇主項目
3.安裝項目右鍵=》視圖=》自定義操作
4.自定義操作=》安裝右鍵=》選擇主輸出
5.解除安裝右鍵=》選擇主輸出
6.若有檔案需要添加到安裝後的檔案夾中=》點選應用程式檔案夾=》添加=》檔案,選擇檔案。安裝後就會生成指定檔案。
7.生成程式,完成,Setup檔案夾中找到exe安裝檔案執行就 OK了。解除安裝也是執行此exe,按提示下一步就OK。