[技術] 安裝Windows服務

[技術] 安裝Windows服務

 

Windows服務不同於一般的Windows應用程序。安裝一個Windows服務需透過.NET Framework提供的InstallUtil.exe,或是一個Microsoft Installer (MSI)這樣的文件部署項目來完成。

 

# 加入服務安裝程式

建立一個Windows服務,只用InstallUtil程式去安裝這個服務是不夠的。必須還要把一個服務安裝程式加入到Windows服務當中,這樣便於InstallUtil或是任何別的安裝程式知道如何去應用這個Windows服務。加入安裝程式的步驟如下:

1. 將這個服務程式切換到設計檢視。

2. 按右鍵選擇“加入安裝程式”。
 

image

3. 切換到剛剛加入的ProjectInstaller的設計檢視。

image 

4. 設定serviceInstaller1元件的屬性:
    - ServiceName = My Sample Service
    - StartType = Automatic

 

image

5. 設定serviceProcessInstaller1元件的屬性
    - Account = LocalSystem

 

image

6. 生成解決方案

 

 

 

 

# 用InstallUtil安裝Windows服務

 

現在這個服務已經生成,接下來要把它安裝好才能使用。安裝新服務的步驟如下:

1. 打開Visual Studio .NET命令提示。

2. 改變路徑到你專案所在的bin\Debug資料夾位置(如果你以Release模式編譯則在bin\Release資料夾)。

image

3. 執行命令“InstallUtil.exe WindowsService1.exe”註冊這個服務,使它建立一個合適的註冊項。

image 
4. 在我的電腦按右鍵,選擇“管理”就可以打電腦管理主控台。

5. 在“服務和應用程式”裡面的“服務”部分裡,可以發現Windows服務已經包含在服務清單當中了。

6. 按右鍵選擇啟動就可以啟動服務了。

image

在每次需要修改Windows服務時,這就會要求你卸載和重新安裝這個服務。不過要注意在卸載這個服務前,最好確保服務管理主控台已經關閉,這會是一個很好的習慣。如果沒有這樣操作的話,你可能在卸載和重安裝Windows服務時會遇到麻煩。僅卸載服務的話,可以執行相的InstallUtil命令用於登出服務,不過要在後面加一個/u命令開關。

 

資料參考:

http://pcedu.pconline.com.cn/empolder/net/0505/613681.html

http://www.dotblogs.com.tw/yc421206/archive/2009/03/24/7675.aspx