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右鍵--->建置

建置完成後,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

http://blog.csdn.net/winner213/article/details/6122864


若遇到錯誤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檔案,會發現每兩秒即寫入檔案一次


留言

這個網誌中的熱門文章

SQL SEVER備份與還原遭遇問題

asp.net頁面間傳值