2018-08-23 根據別人的整理windows
1、 開發Windows服務spa
1、 新建項目,選擇Windows服務,以下圖:設計
2、 建立好後,編譯器會自動建立一些文件,其中會有一個Service1類文件,該文件是服務的關鍵,咱們能夠將其重命名,這裏我將其命名爲MainService,以下圖:blog
3、 在MainService的後臺代碼中會自動建立一些方法,包括服務的啓動和中止方法等,以下圖:ip
4、 將服務啓動時要執行的操做放在OnStart方法中,服務中止時要執行的操做放在OnStop方法中開發
5、 在MainService.cs設計器中,單擊郵件,選擇選擇添加安裝程序,便會生成一個ProjectInstaller.cs的文件,如圖所示:cmd
6、 設置ProjectInstaller.cs的屬性,切換到屬性設置界面編譯器
(1) 選擇serviceInstaller1,並設置相應屬性以下圖所示:io
其中:Description屬性用於設置服務安裝以後再服務界面上顯示的描述信息;編譯
DisplayName屬性用於設置服務安裝以後再服務界面上顯示的服務名稱;
ServiceName屬性用於設置服務的名稱,此名稱必須與ServiceBase類的ServiceName屬性設置的名稱一致,該名稱用於系統標識此服務,能夠理解成DisplayName爲ServiceName的別名;
StartType屬性用於設置服務的啓動方式。
(2) 選擇serviceProcessInster1,設置其屬性以下:
此處主要設置Account屬性,該屬性用來指示運行該服務時的帳戶類型,通常設置爲LocalSystem。
7、 到此步一個簡單的windows服務就建立好了,編譯程序會生成一個EmailService.exe的可執行文件,接下來即是安裝服務了。
2、Windows服務的安裝
命令安裝
-------------------------------------此處爲本身命令安裝成功------------------------------------------------------------------
管理員身份運行cmd
服務 安裝:sc create 服務名 binpath= 「D:\ 服務exe文件地址\須要安裝的服務.exe」 displayname= "服務顯示名稱" start= "auto"
服務刪除 :sc delete 服務名
給服務添加描述: sc description 服務名 「具體服務名稱」
------------------------------------如下方法未試-------------------------------------------------------------------
Windows服務的安裝有多種方式,好比能夠再cmd下調用命令來安裝,也能夠寫一個安裝程序來安裝,此處介紹使用bat批處理來安裝。
1、 安裝Windows服務須要用到InstallUtil.exe程序,該程序位於:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319 .NET4.0
C:\Windows\Microsoft.NET\Framework64\v2.0.50727 .NET2.0
2、 咱們能夠再批處理命令中直接調用以上目錄中的InstallUtil.exe程序,也能夠將該程序拷貝到應用程序的目錄下,此處我選擇獎該程序拷貝到應用程序的目錄下,同時將批處理文件也建立在應用程序的的目錄下,以下圖所示:
3、 註冊服務的批處理命令以下所示:
%~dp0\InstallUtil.exe %~dp0\EmailService.exe
Net Start EmailService --這裏是安裝完成以後啓動服務
sc config EmailService start= auto –這裏是將服務設置爲自動啓動
pause
其中%~dp0表示批處理所在的目錄;
4、 註銷服務的批處理命令以下所示:
%~dp0\InstallUtil.exe /u %~dp0\EmailService.exe
pause
5、 啓動服務的批處理命令以下所示:
net start EmailService
pause
6、 中止服務的批處理命令以下所示:
net stop EmailService
pause
7、 當咱們運行註冊服務批處理命令以後便會進行服務安裝,若是安裝成功,咱們在服務界面將看到該服務,以下圖所示:
8、 安裝服務時的注意事項
(1) 安裝程序InstallUtil.exe的版本必須於建立Windows服務的.NET版本一致;
(2) 若是是Win7以上版本的系統,在運行批處理命令時,應以管理員身份運行;
(3) 若是是Win7以上版本的系統,應特別注意安裝程序和應用程序的路徑,以便可以正確的寫批處理命令。