ServiceEx 是個好用且免費的小工具,他可以將任意應用程式註冊成 Windows 服務,例如 Windows 應用程式、Console 應用程式,並且讓這些應用程式以服務的方式啟動,如果該程式主動關閉或意外關閉,ServiceEx 還會自動將程式自動重啟,對於不瞭解 Windows 服務應用程式開發的人可以考慮用這套工具。
ServiceEx 目前只能透過指令列工具執行,而且設定檔必須手動編輯一個名為 ServiceEx.ini 的檔案才行,以下是安裝一個普通應用程式為 Windows 服務應用程式的過程。
先假設你有個應用程式叫做 AutoPlurker.exe,該程式是個可以自動發噗的程式,且該程式是以 Console 應用程式的方式開發的,所以該程式會不斷執行並不會只執行一次就自動停止,注意: 這是個很重要的前提,否則你就設定 排定的工作(Task Scheduler) 定時執行即可,沒必要轉換成 Windows 服務。
假設你希望該應用程式希望註冊成 Windows 服務的名稱為 AutoPlurker,以下是安裝的過程:
1. 下載主程式 http://serviceex.com/files/ServiceEx.exe
2. 建立一個 ServiceEx 設定檔,並取名為 AutoPlurker.ini 內容如下 (含中文註解說明)
注意: 該文件不能用 UTF-8 編碼,否則會安裝失敗,請用 ASCII 編碼儲存即可
[ServiceEx]
; 設定執行程式的完整路徑 (注意:路徑中有空白時需加上雙引號包起來)
ServiceExeFullPath = "C:\Program Files\Will Software\AutoPlurker.exe"
; 執行該程式時需加上的參數
options = "-daemon"
; 該程式是否會與桌面互動 (即代表該程式執行時若有任何對話框是否應顯示的意思)
desktop = false
; 啟動類型 (可設定的值有 Auto, Manual, Disabled 三種) (預設: Auto)
Start=Auto
; 是否安裝完成後立即啟動 (預設: false)
StartNow=false
3. 執行以下指令進行安裝
ServiceEx install AutoPlurker
如果沒有任何錯誤就大功告成啦! 以下安裝成功的畫面圖示:
以下是在 [控制台] / [服務] 中的畫面圖示:
若要手動啟動服務可在 [控制台] / [服務] 中啟動或可輸入以下指令啟動:
如果要移除安裝,需遵循以下步驟:
1. 先手動停止服務
2. 再執行移除服務的指令
ServiceEx remove AutoPlurker
如果想更新設定檔的內容 (例如更換程式路徑),需遵循以下步驟:
1. 先手動停止服務
2. 再執行移除服務的指令
ServiceEx remove AutoPlurker
3. 編輯 AutoPlurker.ini 設定檔
4. 重新註冊服務
ServiceEx install AutoPlurker
如果希望程式在意外結束時不想自動重新啟動該程式的話,必須自行修改機碼才行,以下是設定的步驟與注意事項:
1. 開啟 regedit 機碼編輯器
2. 瀏覽到以下機碼
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<your service name>\Parameters
3. 新增一個 DWORD 類型的鍵值,並取名為 Restart
4. 設定 Restart 這個鍵值的數值,該數值可設定 0, 1 或 2,分別代表意思如下:
- 0 - 永遠不要讓應用程式重新啟動
- 1 - 當應用程式異常結束時才需重新啟動 ( 當程式結束時的回傳值非為 0 時 )
- 2 - 永遠讓應用程式重新啟動,即便該程式正常結束 [ 預設值 ]
相關連結