windowService初學
建立window Service專案,名稱為WindowServiceTest
在此看不到程式碼,須點選切換到程式碼檢視
在程式碼中,設定每兩秒紀錄一次時間
至此已完成服務啟動後的動作,但若直接執行會出錯。
可由設計畫面加入安裝程式或cmd下指令
1.加入安裝程式(2017/01/10已改為新方式,此方式不適用)
新方式參考https://read01.com/zez20A.html
回到設計畫面(Service1.cs),加入安裝程式
會產生兩個檔案
點選serviceInstaller1,屬性進行設定
Description:在本機服務中顯示的描述內容
DisplayName:在本機服務中顯示的名稱
ServiceName:服務名稱(如果要透過C#控制此服務的話是尋找這名稱)
StartType:啟動狀態。通常改為開機自動啟動(Automatic)
Account:要執行的帳戶類型
windowService通常選擇Local System
完成後就可以下指令去安裝服務
或是使用安裝檔方式(如下)
該專案中另外加入"安裝專案",命名為Setup1Test
在Setup1Test按右鍵,檢視,自訂動作
自訂動作中右鍵-->加入自訂動作
選擇應用程式資料夾,點兩下
加入輸出
專案(P):選擇剛製作的window Service專案
在此因為只有一個專案,不用選擇
建置完成後,Setup1Test按右鍵即可選擇安裝
照著安裝步驟即可完成
2.cmd模式
切換路徑至 InstallUtil.exe 資料夾
InstallUtil.exe 默認的安裝位置是在C:/Windows/Microsoft.NET/Framework/版本號 裡面,所以你要在cmd裡通過cd定位到該位置(cd C:/Windows/Microsoft.Net/Framework/v4.0.30319)
a.安裝 InstallUtil.exe 路徑 / 程式名稱.exe
(b 啟動net start 名稱
c.net stop 名稱
)
d.移除 InstallUtil.exe /u 路徑 / 程式.exe
若遇到錯誤installutil.exe system.badimageformatexception could not load file or assembly.....
則是錯誤版本號的Installutil,或是32.64位元錯誤
http://stackoverflow.com/questions/11059284/badimageformatexception-error-in-using-installutil-tool
到本機"服務"中查看,會出現剛完成的服務
將之啟動
查看ServiceTest.txt檔案,會發現每兩秒即寫入檔案一次
留言
張貼留言