C# vs2008 建立Windows服務程式,打包成安裝檔案
c# 開發windows服務程式。
一個簡單的服務程式示例。
歸納了幾點。有不足之處,請賜教。
一、建立服務程式
1. 選單欄“檔案”--->“新建”--->“專案”,在專案型別中選擇“windows”,模板中--->“windows 服務”。專案名稱任意起。
新專案中會建立 Program.cs , Service1.cs及其他的檔案或資料夾
2. 編寫程式 略。
二、新增服務應用程式
1. 在解決方案中,開啟要向其中新增安裝元件的服務的Design檢視。(雙擊Service1.cs即可)
2. 在任意位置,單擊右鍵,在屬性視窗中,單擊新增安裝程式
這時專案中就添加了一個新類 ProjectInstaller ;兩個安裝元件 ServiceProcessInstaller 和 ServiceInstaller,並且服務的屬性值被複制到元件。
修改ServiceInstaller 的 StartType 屬性設定為適當的值。
屬性值說明
Manual:服務安裝後,必須手動啟動。
Automatic :每次計算機重新啟動時,服務都會自動啟動。
Disabled: 服務無法啟動。
修改serviceProcessInstaller類的Account屬性改為 LocalSystem。
這樣,不論是以哪個使用者登入的系統,服務總會啟動。
三、打包程式,建立服務安裝專案
1. 選單欄“檔案”--->“新增”--->“新建專案”
2. 點選“專案型別”--->“其他專案型別”--->“安裝和部署”,再在“模板”點選“安裝專案”,
點選“確定”.這樣在解決方案中會新新增安裝專案
3. 在“檔案系統”中點選“應用程式資料夾”,右邊框變空白,
在右側空白處右擊滑鼠,“新增”--->點選“專案輸出”,出現一個對話方塊,點選“確定”
4. (可選)再右擊滑鼠,“新增”--->點選“檔案”,選擇資料夾中的“bin”檔案中的“Debug”檔案中的“.exe”,把“.exe”開啟。
5. (可選)單擊“檔案系統”中的“使用者的"程式"選單”,在右邊空白處右擊滑鼠,點選“建立新的快捷方式”,把應用程式資料夾中的“.exe”檔案選上,點選確定。
6. (可選)單擊“檔案系統”中的“使用者桌面”,操作如上一步驟。
7. 向安裝專案新增自定義操作 .
右擊安裝專案,指向“檢視”,然後選擇“自定義操作”。
編輯區出現自定義操作編輯器。
在“自定義操作”編輯器中右擊“自定義操作”節點,然後選擇“新增自定義操作”。
出現“選擇專案中的項”對話方塊。在列表框中雙擊“應用程式資料夾”將其開啟,
選擇“主輸出來自 ***Service(活動)”,然後單擊“確定”。
主輸出被新增到自定義操作的所有四個節點,即“安裝”、“提交”、“回滾”和“解除安裝”。
8. 打包檔案
點選選單欄中"生成"中的“生成***Setup1(包名)”,等頁面左下角顯示"生成成功"即可
安裝專案目錄\Debug\ 下會生成 .exe 和 .msi 的安裝檔案,
注:安裝程式屬性配置
在“解決方案資源管理器”中,點選***Setup(程式名稱),開啟程式的屬性視窗。
在其中可以配置其屬性
1 各個屬性都有說明,根據需要自己修改
2 更改其中的預設安裝路徑?
在“檔案系統”的“應用程式資料夾”的屬性視窗
DefaultLocation屬性中
預設:[ProgramFilesFolder][Manufacturer]/[ProductName]
例:修改為D盤的Program Files/的目錄下,
只要將[ProgramFilesFolder]該成D:/Program Files/ 即可。
修改後的路徑為D:/Program Files/[Manufacturer]/[ProductName]