標籤:註冊 installer 改變 htm 相關 UI cep 設定 set
描述:
A 軟體,已經註冊了一個windows服務並啟用,現在需要在服務自己的一個類B裡增加一個欄位,服務的作用是返回一個該類型B的執行個體
做法
增加欄位,替換服務檔案,重新註冊服務並開啟,但是在A軟體內的服務類型還是老版本的,返回的B類型資料有新加的欄位,但是A軟體內服務引用的接受資料的類型還是老類型,沒有沒有新加的欄位.
windows服務
能建立可長時間啟動並執行可執行應用程式
體繫結構
建立Windows服務
1 以編程方式編寫服務。
2 用SV模板建立服務
兩種方式都要做以下事情
- 通過從“產生”菜單選擇“產生解決方案”來產生你的項目
添加服務應用程式所必要安裝程式
切換到設計,右鍵添加安裝程式
介面上產生兩個檔案serviceInstaller1,serviceProcessInstaller1
一個可以調整服務啟動類型,一個設定賬戶可存取權限
ServiceProcessInstaller 組件適用於項目中的所有單個服務安裝程式。
添加的安裝程式和你的服務主體之間好像沒有啥關係,只是記錄一下這個服務的
安裝windows服務(由類產生的服務)
管理員方式開啟vstool下的VS2012 開發人員命令提示,cd到exe目錄下,installutil xxx.exe(普通管理員的cmd不行)
然後就安裝,啟動服務
(我的測試程式是open一個檔案,但是檔案沒被開啟,手動再開啟會顯示檔案被佔用,可能這個服務一點介面相關的都不能有)
結論
windows服務不同於普通的exe執行檔案,周期決定於應用程式,windows服務的生命週期長
用installutil方式將應用程式註冊為服務
關於問題:
為什麼服務更新不對?
因為我更改了服務地址:原來是http://192.168.40.31:8400/ACal/BaseService/mex
後來我註冊的服務的地址是:http://192.168.40.31:8700/ACal/BaseService/mex
本機上註冊的服務連接埠改變了,軟體引用一個沒有服務的地址,自然更新不了服務
6.28 Windows Serviece