程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> 如何為C# Windows服務添加安裝程序

如何為C# Windows服務添加安裝程序

編輯:關於C#
 

首先,當然是創建一個Windows服務的項目。這個大家應該都知道怎麼做(這都不明白的留言問我),然後要給服務“添加安裝程序”,如圖1所示:(這一步和自己用InstallUtil注冊是完全一樣的)



(圖1)

添加後,會出來一個serviceProcessInstal1,還有serviceInstaller1,如果你一個項目裡有兩個服務的話,這裡就會有兩個serviceInstaller類,如圖2:


(圖2)

圖3是serviceProcessInstal1的屬性頁,其中Account就是指用於運行服務的帳戶,如果只是用於本地,可以選LocalSystem(本地系統),這是本地的最高權限,並可以選擇和桌面交互功能。如果安全性考慮的話,請選擇適合自己的。



(圖3)

圖4是serviceInstaller2的屬性頁,其中DisplayName就是顯示在Windows服務管理器中的服務名 稱,Desciption是服務的說明。下面ServiceName是服務內部名稱。最關鍵的是下面的StartType,是指服務的啟動方式,是自動, 手動和禁用三種。



(圖4)

下面,就是今天講的重點了,點擊“文件”->“添加”->“新建項目”(如圖5)



(圖5)

選擇“其他項目類型”->“安裝和部署”裡的“安裝項目”(如圖6)



(圖6)

建好項目後,右鍵剛才新建的安裝項目,選擇“視圖”->“文件系統”(如圖7)


(圖7)


這時,打開了文件系統屬性。可以看到,屏幕左邊,出現了三項文件系統的內容,因為我們是Windows服務程序,不需要在開始菜單和桌面上放置圖標,所以我們直接右鍵“應用程序文件夾”->“添加”->“項目輸出”(如圖8)



(圖8)

在出來的對話框中,選擇“主輸出”和“Release XXX”,這個由你的項目屬性決定,一般選擇Release Any CPU。(如圖9)



(圖9)

系統會自動把項目輸出文件,也就是Windows服務程序的EXE文件和所有引用的類庫文件都列在中間的框中。這時,為了方便安裝,我們把InstallUtil.exe和兩個我自己寫的批處理文件一起添加進去。添加方法類似上面,只是把“項目輸出”改成“文件”。
結果如圖10所示:



(圖10)

接下來,就該配置一下安裝過程,讓安裝程序自動給我們安裝和卸載Windows服務。

還是右鍵安裝項目,選“視圖”->“自定義操作”,如圖11:



(圖11)

左邊的窗口換到了自定義操作的視圖了,右鍵“安裝”->“添加自定義操作”(圖12),出現的對話框中,選中“應用程序文件夾”,再選中其 中的InstallUtil.exe文件(圖13),添加好後,會在安裝操作下面多出一個InstallUtil.exe的分支。點一下它,在右邊的屬性 頁裡,設置Arguments=“ 你的Windows服務文件名”,如圖14(注意文件名前要留一個空格)



(圖12)




(圖13)



(圖14)

 

同樣,在提交和卸載處,也添加InstallUtil.exe,不過屬性頁中設置Arguments=“ -u 你的Windows服務文件名”,這樣,安裝程序就能實現自動安裝注冊和卸載Windows服務了。


 

【以下修正】

->
 

其實簡單的做法只要在安裝,提交,回滾,卸載 都添加項目的主輸出的話也是可以達到自動注冊/卸載服務 功能的,而且不 依賴於InstallUtil.exe(如圖15)

  <-

經過多次的測試才發現,這一步驟是有問題的!
 

添加完InstallUtil.exe 後,在安裝,提交,回滾,卸載 都添加項目的主輸出才能自動安裝服務。且順序必須是先添加InstallUtil.exe,再添加項目的主輸出!!!
 

 




(圖15)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved