2012-01-04 121 views
11

我創建了一個windows系列如何安裝同一個windows服務的多個實例

它從web配置文件中獲取服務的名稱。

我使用下面的鏈接從webconfig獲取值。 http://www.codeproject.com/KB/dotnet/MultipleInstNetWinService.aspx

安裝我的窗口服務,我只需點擊該圖標並重新安裝 ,我在配置文件中更改數值和rebulid我的應用程序。

再次嘗試安裝時,它顯示錯誤,如指定的服務已存在。

如何安裝同一個windows服務的多個實例?

感謝, 普加

回答

8

你需要你的服務可執行文件複製到一個單獨的目錄,並使用InstallUtil.exe給它一個不同的服務名稱。

這聽起來像你錯過了這個節the linked article

在命令提示符下,你需要使用InstallUtil安裝服務的兩個 實例。有關如何使用InstallUtil的說明, 請參閱Installer Tool (InstallUtil.exe)。一旦你完成安裝 服務實例,你就會有類似的服務控制檯 以上,其中服務實例1服務實例2從 相同的可執行文件創建的,只有從不同的目錄位置 安裝一個不同的服務名稱。

+0

我嘗試使用命令propemt進行安裝。它顯示installutil不recodized內部或外部命令 – Pooja 2012-01-04 10:49:29

+0

如何使用這個 – Pooja 2012-01-04 10:49:45

+0

這是.NET Framework的一部分安裝,它是在C語言中:\ WINDOWS \ Microsoft.NET \框架\ V2.0.50727。 – shamp00 2012-01-04 11:12:26

14

我需要的服務與不同的參數運行的快速演示做到這一點。

我複製了包含service exe的目錄,然後使用sc create命令來設置第二個服務。

sc create "[NewServiceName]" binPath="[PathToCopiedServiceDirectory]" 

How to create a windows service using the Sc.exe command

+1

確保您在爲binPath的[PathToCopiedServiceDirectory]值的實際服務EXE文件名,否則該服務將指向目錄,當您嘗試啓動該服務,你會得到一個「拒絕訪問」錯誤。 – 2017-04-19 00:33:36

-4

運行asp.net命令提示符以管理員身份,然後使用命令 - installutil 「C:\ ABC \ xyz.exe」。

如果您的服務已安裝,那麼你可以先卸載使用命令 - installutil \ U 「C:\ ABC \ xyz.exe」

+1

這不是回答這個問題。 – Oded 2012-02-22 11:31:32

7
sc create MyService binPath= "MyService.exe" DisplayName= "MyService" 
sc description MyService "My description" 

參考:http://support.microsoft.com/kb/251192

其次顯着答案並浪費了一個小時。這很簡單,使用sc創建命令

+0

確保在binPath和顯示名稱 – 2017-06-01 07:47:15

0

我不得不在Visual Studio中的文件「ProjectInstaller.Designer.cs」中更改服務名稱,並重新編譯。希望能幫助到你。

+1

位溫和平等和值後留下空間,答案應該是一個真正的評論 – codingadventures 2015-04-28 23:10:17

相關問題