標籤:ever isp log ram des ros onstop target display
原文:http://www.cnblogs.com/no27/p/4849123.html
一、建立服務
1、檔案-》建立-》項目-》windows案頭-》windows服務,修改你要的項目名稱。我這不改名,仍叫WindowsService1,確定。
2、其中的Program.cs檔案是入口,Service1.cs是服務檔案,所有的邏輯都在這。Service1.cs包含兩部分,一部分是Designer,可以在這裡面添加各種組件。一部分是後台檔案,裡面可以寫一些邏輯,預設包含3個方法:建構函式、OnStart和OnStop,還可以添加OnPause和OnContinue方法。
3、修改Service1.cs檔案如下(可以自行添加一些邏輯代碼)
namespace WindowsService1{ public partial class Service1 : ServiceBase { public Service1() { InitializeComponent(); base.ServiceName = "KangryTest"; //設定服務名稱,與後面的安裝服務名稱要一致 } protected override void OnStart(string[] args) { //服務啟動時相關代碼。 } protected override void OnStop() { //服務關閉時相關代碼。 } }}
4、雙擊Service1.cs檔案,進入設計頁面,對著空白處右鍵-》添加安裝器。
5、在安裝器的設計介面,出現兩個組件。點擊serviceProcessInstaller1,在右下角的屬性欄中,將Account修改為LocalSystem
6、選中ServiceInstaller1,右下角的屬性框中,將ServiceName修改成第3步的ServiceName,其他自行選擇。DelayedAutoStart表示開機後是否延遲啟動。Description表示服務的描述,DisplayName表示服務顯示名稱。ServicesDependedOn表示依賴的服務項。StartType表示啟動類型,分為自動啟動,手動啟動和禁用。
二、安裝服務
選中項目右鍵選擇“產生”,產生exe檔案;
然後將從C:\Windows\Microsoft.NET\Framework\v4.0.30319中拷貝installutil.exe檔案到組建目錄(bin/Debug目的使installutil.exe和dp0WindowsService1.exe在同一級目錄)下。在該目錄建立“安裝.bat”檔案,使用記事本開啟,輸入如下命令:
%~dp0InstallUtil.exe %~dp0WindowsService1.exe
pause
注意前每個命令前要加一個%~dp0,表示將目錄更改為目前的目錄。倘若不加,可能會出錯。pause 一定要換行,否則報錯。
最後雙擊安裝.bat檔案,就完成服務註冊了。
在我的電腦上右鍵選擇“管理”,開啟“服務和應用程式”下的“服務”,就能看到我們註冊的服務了。
三、卸載服務
在該目錄建立“卸載.bat”檔案,使用記事本開啟,輸入如下命令:
%~dp0InstallUtil /u %~dp0WindowsService1.exe
pause
同樣pause也要換行。
如果在啟動過程中遇到如下問題,請將整個項目加上EVERYONE許可權。
四、調試
在VS2013中選擇“調試”-“附加到進程”,如下:
這樣就可以調試了。
VS2013建立Windows服務