1. 程式人生 > >C 製作Windows service服務系列一 製作一個可安裝 可啟動 可停止 可解除安裝的Windows service

C 製作Windows service服務系列一 製作一個可安裝 可啟動 可停止 可解除安裝的Windows service

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

               

  系列一: 製作一個可安裝、可啟動、可停止、可解除安裝的windows service(downmoon原創)

  系列二:演示一個定期執行的windows服務及除錯(downmoon)

  系列三:

windows service系列三--製作可控制介面的windows service

 

因為windows service 工作中最近開始頻繁使用,而手工部署的方式,最好的是用BAT檔案,可是程式要部署到別的伺服器上時,就會發現路徑是一個問題:當然也可以用全域性變數來控制,這裡不贅述。

給出一個手工部署的例子
setupServer.bat


echo   off
if   exist   " %SystemRoot%Microsoft.NETFramework2.0.50727
"   goto  netOld
:DispError
echo  您的機器上沒有安裝  . net  FrameWork  2.0
pause
goto  LastEnd
:netOld
cd  %SystemRoot% Microsoft . NET Framework v2 . 0.50727

echo  您的機器上安裝了相應的 . net  FrameWork , 可以安裝本服務,按任意鍵繼續…………
echo   off
pause
%SystemRoot%
Microsoft . NET Framework v2 . 0.50727 installutil C: TradeMatchService2007 TradeMatchService2007 bin Debug TradeMatchService2007 . exe
net   start   " servTradeMatch2007 "
:LastEnd
rem  exit



解除安裝如下:
unInstallServer.bat


echo   off
if   exist   " %SystemRoot%Microsoft.NETFramework2.0.50727 "   goto  netOld
:DispError
echo  您的機器上沒有安裝 . net  FrameWork  2.0 , 安裝即將終止
pause
goto  LastEnd
:netOld
echo  即將解除安裝本服務,按任意鍵繼續…………
echo   off
pause
net  stop  " servTradeMatch2007 "
cd  %SystemRoot% Microsoft . NET Framework v2 . 0.50727
%SystemRoot%
Microsoft . NET Framework v2 . 0.50727 installutil  / uninstall C: TradeMatchService2007 TradeMatchService2007 bin Debug TradeMatchService2007 . exe
:LastEnd
rem  exit


也可以同時判斷兩個以上的net FrameWork版本

這裡要介紹的是一個完整的安裝程式,所以服務本身就略去,如果有朋友需要學習,可以跟我聯絡
[email protected]

好了,言歸正傳
假定 windows Service已寫好,服務名為servTradeMatch2007,可執行檔名為TradeMatchService2007.exe




一、首先在解決方案中建立一個安裝部署的專案,右鍵點選專案名稱,在選單中選擇[新增]-->[專案輸出],
在彈出的"新增專案輸出組"視窗中,第一個下拉框會列出該解決方案中其他的專案,
選擇需要製作安裝的windows service專案,再選擇主輸出,點[確定]。如圖:





依次在”目標計算機上的檔案系統“--”應用程式資料夾“下新增以下四個檔案
1、msiexec.exe
2、start.bat
3、stop.bat
4、主輸出檔案






其中msiexec.exe位於Windows/System32下
stopbat檔案內容如下:

echo   off
net  stop  " servTradeMatch2007 "
exit


startbat檔案內容如下:


echo   off
net   start   " servTradeMatch2007 "
exit


在"使用者的程式資料夾下",新建一資料夾”蔬菜網全文檢索服務“,分別製作這前三個檔案的快捷方式到這裡




右鍵單擊”解除安裝服務“(msexec.exe對應的快捷方式)

輸入一串值 



其中"/x  "後面對應和數值來自
Setup_TradeMatchService2007.vdproj檔案




OK ! 生成安裝包,

別急,安裝完後,windows service並沒有安裝成服務。
還必須在安裝專案中新增自定義操作。右擊安裝專案->檢視->自定義操作.
如下圖:分別新增自定義操作,在應用程式資料夾中選擇剛才新增的主輸出即可.






安裝過程如下:

















解除安裝:

            

給我老師的人工智慧教程打call!http://blog.csdn.net/jiangjunshow

這裡寫圖片描述