2014-03-04 24 views
14

我已經用C#編寫了Windows服務。如何更新已安裝的Windows服務?

我已經安裝在我的機器上,它運行得很好。

當您安裝服務時,exe會被複制到某處嗎?還是它指向我的bin文件夾?

這是爲了讓我知道,當我不時更新我的​​代碼時,是否必須卸載並重新安裝我的服務以更新它?

+0

我會創建安裝項目來安裝Windows服務。 – Damith

回答

18

如果Windows服務的位置沒有改變,它的可執行文件的名稱並沒有改變,你不應該卸載並重新安裝。

您可以簡單地停止服務,使用新版本更新其可執行文件,然後重新啓動它。

這種方法對我來說可靠地工作了很多個月的Windows服務開發,在此期間我只更新了服務的實現,私有方法等。並且它使相當快迭代開發時,你有你在命令窗口中的歷史服務(S)剛剛Alt鍵 + 標籤超過net stopnet start命令,通過歷史回溯,並創下輸入當你發現你需要的命令。

3

您可以通過從Run中打開services.msc來檢查已安裝服務的路徑。然後右鍵單擊您的服務並查看「可執行文件的路徑」。

如果這指向您的bin目錄,那麼它會在您每次編譯成功時更新。

enter image description here

0

應卸載舊的Windows服務和安裝Windows服務的新版本。

卸載:

installutil /u yourproject.exe 

安裝:

installutil yourproject.exe