.net Windows服務程序和安裝程序製作

.net Windows服務程序和安裝程序製作

      最近項目中用到window服務程序,以前沒接觸過,比較陌生,花了兩天的時間學習了下,寫了個簡單的服務,但在製作安裝程序的時候,參照網上很多資料,卻都製作不成功,可能是開發環境或項目配置的不同,這裏把自己成功製作的方式貼出來,一方面留給自己,一方面也希望能給遇到同樣問題絕望中不能自拔、以致失去靈魂的路人甲,路人乙一還魂丹 . . .

      IDE :WIN2003  VS2008  SQL2005

      一、創建window服務項目

      首先我們建一個window服務項目 :解決方案(右擊)——> 增加 ——> 新建項目——>項目類型選擇Windows——>模板選擇Windows服務 ,如圖:

 

      二、編寫Window服務程序

      創建後會生成兩個文件 Program.cs 和 Service1.cs ,其中 program.cs 這個文件不用動,裏面已自動生成好了。我們在Service1.cs裏增加所要的操作,裏面有兩個重寫方法 OnStart 和 OnStop ,OnStart 方法表示服務啓動的操作,OnStop 表示服務停止的操作,下面寫了一個簡單示例 :當服務啓動後,調用遠程一個WebService的Hello函數,並把返回的值寫入到一個文件中。code如下:

代碼

 

      例子很簡單,方便理解,上面通過線程,每5秒執行一次操作,到這裏,我們的服務以及服務實現的功能就已經寫好了,下面怎麼讓客戶端安裝我們的服務呢?這裏纔是我寫這篇文章的目的!先要增加一個安裝程序類,切換到視圖窗口,右擊——>增加安裝程序,便會增加一個程序安裝類文件 ProjectInstaller.cs,如圖:

這裏serviceProcessInstaller1 和 serviceInstaller1 有幾個重要屬性要設置,serviceInstaller1 中的StartType要設置成Automatic,表示隨機啓動,ServiceName表示服務名稱,Description 表示服務的描述, DisplayName 表示顯示名稱。serviceProcessInstaller1 中的Account要設置成LocalSystem,表示本地系統帳號

      Window服務的安裝有兩個方式:

      一、命令安裝

 
       通過命令窗口,執行 InstallUtil.exe 服務路徑 可安裝Window服務,你是不是覺得我在扯,這麼長的命令怎麼看?怎麼記住?可以想想如果客戶端是一個不懂程序的人是不可能自己完成安裝的,那麼能不能製作一個簡單有效,點點按鈕可以安裝的呢,答案是肯定的 ——> 安裝程序製作
       二、安裝程序
       安裝程序製作 :解決方案(右擊)——> 增加 ——> 新建項目 ——> 項目類型選擇安裝和部署 ——>  模板選擇安裝項目   如圖 :
 
     創建後,安裝項目(右擊) ——> 視圖 ——> 文件系統 如圖:
 

     由於我們是安裝服務,就不需要用戶桌面和程序菜單了,直接應用程序文件夾(右擊)——> 增加 ——> 項目輸出 入圖 :

       上面有兩點需要注意 ,一 項目選擇中選擇要安裝的服務, 二 項目選擇下面要選擇主輸出,選擇好後確定,這一步增加了安裝程序的文件夾,下一步就是給這個安裝程序增加操作,這裏我們增加兩個基本操作,一個是安裝,一個是卸載。安裝項目(右擊) ——> 視圖 ——> 自定義操作 如圖

       上面可以看到有安裝,提交,回滾,卸載等操作,我們先增加安裝操作,安裝(右擊)——> 增加自定義操作,會彈出一個對話 如圖:

      選擇應用程序文件夾,並選中之前增加的主輸出項,確定,這樣這個安裝程序就增加了安裝的操作,同樣按照這樣的方式增加卸載操作,卸載與安裝唯一不同的是需要設置一個命令參數,不可少,如圖:

      這裏 Arguments 裏輸入 /u  表示卸載命令相當於 InstallUtil.exe /u 服務路徑  , 到這裏 ,我們的安裝程序就已經製作好了,生成安裝程序項目,將會生成 setup.exe 和 setup.msi 安裝文件,拷貝到客戶端,點擊setup.exe 就像安裝QQ一樣安裝我們的服務,實際上比QQ好多了,QQ還有廣告,我們可是純綠色的!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章