2011-08-31 128 views
2

那麼,我已經創建了一個新的Windows服務,並從Visual Studio安裝。Windows服務無法在啓動後啓動

當我完成安裝後,我該如何啓動服務?

我需要的東西,可以讓我開始這個過程,或一個EXE ..東西?

安裝程序是:Visual Studio安裝程序 - 安裝項目。

任何幫助?

我爲了一個問題:

  1. 爲什麼服務沒有啓動?

  2. 如何控制intall後發生的情況?它的代碼在哪裏?

謝謝!

+1

這個問題需要大大澄清。當您嘗試啓動服務時出現什麼錯誤? – Tejs

回答

2

開始你的服務,你可以執行以下命令:

net start YourServiceName 

或進入控制面板 - >管理工具 - >服務,並選擇您的服務,然後單擊開始。

上面的完整路徑也取決於您的實際Windows版本。

即使您沒有使用任何日誌記錄,一般服務失敗都會記錄在Windows事件日誌中,因此請打開事件查看器並查看最新事件。

+0

沒有錯誤。該服務是好的,如果我strart它我的自我它工作正常。事情是我想要的,我安裝它後,它會通過它自我>< –

+0

好的,所以其他人告訴你在服務安裝程序指定啓動模式自動 –

+0

這是你在找什麼:http://pietschsoft.com /post/2009/11/06/dotNet-Windows-Service-Installer-And-Auto-Start-After-Installation.aspx –

0

將ServiceInstaller類屬性中的啓動類型設置爲Automatic(您可以在Designer文件中執行此操作)。

+0

服務本身是automitaic,我做了安裝和一切。但我需要去調整我的自我服務,它的劑量單獨... –

0

需要安裝Windows服務(它應該告訴你如何嘗試調試它該怎麼做),然後在服務器管理器中啓動。然後你可以附加到它。

他們對調試TBH有點痛苦。

0

該服務做什麼?它打開SQL連接? 尋找一個文件? 嘗試啓動後,請在您的事件查看器中檢查安裝了錯誤的服務的錯誤,它會給我們一個更好的理解。

+0

沒有錯誤,服務沒問題,問題是我需要在安裝後自行處理它。我希望它通過它自己..「。」> –

+0

好吧,我已創建一個Windows服務,然後創建一個VisualStudio安裝程序。這是工作的精細!我可以通過我自己和它的確定來調整服務。但是>如果安裝後我不自己打開它。它並不是STRAT。我怎麼能這樣做後,安裝它iwll strart由它自己。 –

0

除非您有興趣使其理解,否則不可能理解您的問題。

從我的假設

然而,

轉到Visual Studio工具=> Visual Studio的命令提示符下使用 命令net開始<>

如果未能啓動servicce,檢查事件日誌(在運行對話框eventvwr.msc )查看是否有任何相關的錯誤記錄。

+0

好吧,我已經創建了一個windows服務,然後創建一個visualstudio安裝程序。這是工作的精細!我可以通過我自己和它的確定來調整服務。但是>如果安裝後我不自己打開它。它並不是STRAT。我怎麼能這樣做後,安裝它iwll strart由它自己。 –

+0

您可以通過多種方式啓動服務,其中之一是使用安裝事件後從服務安裝程序類啓動服務。請參閱這裏http://stackoverflow.com/questions/1036713/automatically-start-a-windows-service-on-install – humblelistener

7

即使您將啓動類型設置爲自動,它將不會自動啓動您的服務,直到機器重新啓動。你可以做的是創建事件處理程序爲您服務安裝程序類的AfterInstall事件,並開始使用ServiceControllerStart方法的服務如下

public serviceInstaller() 
{ 
    this.AfterInstall += new InstallEventHandler(serviceInstaller_AfterInstall); 
} 

void serviceInstaller_AfterInstall(object sender, InstallEventArgs e) 
{ 
    ServiceController sc = new ServiceController(serviceInstaller.ServiceName); 
    sc.Start(); 
} 

您可以使用Visual Studio事件窗口以及創建事件。

how to create event from VS

+1

這就是我要找的!謝謝 – swdev

0

你的Windows服務在某些系統中工作。 如果您遇到某些系統出現錯誤,Windows Service在安裝後無法啓動,如果手動/自動。

如果服務啓動和停止那樣,這意味着您的代碼正在拋出未處理的異常。這很難調試,但有幾個選項。

  1. 請參閱Windows事件查看器。 > Windows日誌 - - >應用程序

Event Viewer - eventvwr.msc

通常情況下,你可以通過進入計算機/服務器管理器,然後單擊事件查看器中得到了這一點。你可以看到什麼拋出異常,這可能會有所幫助,但是你沒有得到堆棧跟蹤。 Event Viewer Log Image

  1. 在服務啓動方法中添加try/catch塊。

  2. 讓你檢查你是否使用任何熱門代碼(例如:「D:\」)。該驅動器在安裝的系統中不可用。

這會幫助很多!