vs下開發windows服務程式

來源:互聯網
上載者:User

標籤:ref   2.0   iss   account   路徑   發送   exe   標識   後台   

一、 VS2012下開發Windows服務

 

1、 開啟VS2012,建立項目,選擇Windows服務,此處我以開發一個定時自動發送郵件的服務來做介紹,如:

 

2、 建立好後,編譯器會自動建立一些檔案,其中會有一個Service1類檔案,該檔案是服務的關鍵,我們可以將其重新命名,這裡我將其命名為MainService,如:

 

3、 在MainService的後台代碼中會自動建立一些方法,包括服務的啟動和停止方法等,如:

 

4、 將服務啟動時要執行的操作放在OnStart方法中,服務停止時要執行的操作放在OnStop方法中

5、 在MainService.cs設計器中,單擊郵件,選擇選擇添加安裝程式,便會產生一個ProjectInstaller.cs的檔案,:

 

6、 設定ProjectInstaller.cs的屬性,切換到屬性設定介面

(1) 選擇serviceInstaller1,並設定相應屬性如所示:

 

其中:Description屬性用於設定服務安裝之後再服務介面上顯示的描述資訊;

      DisplayName屬性用於設定服務安裝之後再服務介面上顯示的服務名稱;

      ServiceName屬性用於設定服務的名稱,此名稱必須與ServiceBase類的ServiceName屬性設定的名稱一致,該名稱用於系統標識此服務,可以理解成DisplayName為ServiceName的別名;

      StartType屬性用於設定服務的啟動方式。

(2) 選擇serviceProcessInster1,設定其屬性如下:

 

此處主要設定Account屬性,該屬性用來指示運行該服務時的賬戶類型,一般設定為LocalSystem。

7、 到此步一個簡單的windows服務就建立好了,編譯器會產生一個EmailService.exe的可執行檔,接下來便是安裝服務了。

二、Windows服務的安裝

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以上版本的系統,應特別注意安裝程式和應用程式的路徑,以便能夠正確的寫批處理命令。

 

原文轉載:http://blog.csdn.net/huangcailian/article/details/42237013

vs下開發windows服務程式

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.