2016-12-08 78 views
0

我創建了一個在多臺計算機上工作並在調試時工作的服務。但無論出於何種原因,它都不會安裝在我最近嘗試過的任何計算機上。C#服務不再啓動

下面是我遇到的問題:

  • 計劃將不會安裝,如果我對「打開後安裝」屬性。代碼如下:

    new ServiceController(serviceInstaller1.ServiceName).Start(); 
    
  • 每當我嘗試禁用上面的代碼安裝服務時,它還會自動安裝。但是,當我嘗試手動啓動服務時,該服務拒絕啓動。我得到以下

「錯誤1053:該服務沒有及時啓動或控制請求」

事情我已經試過

使用 「SC刪除」
  • 。除非我是愚蠢的,否則該服務已經100%卸載。
  • 卸載程序
  • 重建遵循同樣的導遊,我以前做(當它的工作)做上述

在此之前你問

  • 沒有一個系統更改後
  • 重新啓動安裝項目已經取得

我的問題是,爲什麼這個pro克在調試時完美工作,但在3天前完美工作後不會再安裝了?

+0

檢查窗口日誌也許有細節。 –

回答

1

沒有看到你的代碼,這只是一個受過教育的猜測,但錯誤是給你一個大線索的問題:

「錯誤1053年:服務沒有在啓動或控制請求及時時尚「。

這意味着您的服務的啓動方法不會足夠快地返回系統。當你調試服務時,它實際上並不是作爲服務啓動的,所以這個檢查從不會觸發。如果這是前一陣子的工作,那麼您必須在啓動方法中添加一些額外的處理。

唯一的解決方案是將所有處理移出啓動方法。正常的方法是在start方法中啓動一個後臺工作線程,以便儘快返回,然後執行線程中的所有處理。然後,只要需要完成,就可以完成。