首先弄明白本文究竟說的是什麼和不是什麼.
1. 是講windows服務怎樣編寫嗎?不是
2. 是講在visual studio裡怎樣制作安裝包嗎?算是,但也不全是。
3. 是講windows服務寫好後怎樣将此服務安裝到windows系統中嗎?算是,但也不全是。
4. 講的是“在windows中怎樣使用installShield制作windows服務的安裝包”,也就是說
4.1 首先你要寫好一個windows服務的相關代碼,這是另一個問題,本文不涉及。這個服務做的事可能非常簡單,比如每隔十秒鐘像C槽的a.txt檔案追加一行字元一樣簡單。假定使用C#在visual studio上寫了一個這樣的windows服務項目,已寫好。
4.2 其次你的visual studio上要已經安裝了installShield模闆。怎樣安裝installShield模闆也是另一個問題,本文不涉及。就是安裝了一個項目模闆。
4.3 再其次,你最好有點經驗,在visual studio中利用installShield制作過一些普通exe應用程式的安裝包。也就是一些簡單的桌面程式,不多解釋。
4.4 下面才是4.3的進階版,即“怎樣利用installShield制作一個windows服務的安裝包”
以上是關于“本文究竟是在做什麼”的解釋和說明。
--------------------------------------
1.先建立一個windows service項目,并寫上你想要定時執行的服務内容,如圖1。

内容怎麼寫随你便,寫完後,這時候編譯後如圖2,bin/debug檔案夾裡會出現一個aaa.exe的可執行檔案,也就是你寫的windows服務。
這時候,實際上用指令行已經可以把這個windows服務安裝到你的windows電腦中了。
方式如下:
不再贅述。
但我們不想這樣做,我們是想把這個windows服務做成exe安裝包的形式,即産生一個exe檔案(或者msi檔案),點選就想安裝一個軟體一樣,裝完後這個地方多一個程式,圖3。
這個地方多一個服務(而且是自動啟動的就更好了),圖4。
2.在這個windows服務的解決方案下添加一個installShield項目,如圖5,6。
然後,這将是你一個熟悉的界面,圖7。
主要就是在這個setup1項目裡,你設定完各種跟安裝包有關的東西,然後編譯這個setup1項目就完成了windows服務的安裝包。
圖中紅框部分的幾個選項無非就是安裝包相關的多種配置,基本無關緊要,多看看試試都明白了。
關于這個的設定隻有兩處要特别說的,也是決定了這個windows服務安裝包究竟能不能成功的關鍵。
關鍵之一:圖8
添加檔案到setup1中,主要是windows服務裡面(也就是windows服務那個項目的bin/debug檔案夾下的aaa.exe檔案)
Add project outputs,要選擇主輸出。我也不知道為什麼,也不知道主輸出是什麼意思。反正不這樣做沒成功,這樣做就成功了。
關鍵之二:圖9.
如圖中這樣,要配置要必要的東西。
3.都配置好之後編譯setup1項目,如圖位置産生exe和msi檔案。點選任意一個安裝即可成功安裝windows服務。圖10.
驗證如下:圖11,12