2011-12-02 131 views
1

我所試圖做的, 我有一個可執行文件(myService.exe)。它是一個Windows服務,它支持啓動,停止和其他這樣的選項。它使用一個參數(文件名)並在其上運行它的服務。 例如C:\ myService.exe someFileName.dat管理Windows服務(創建,刪除,啓動,停止,參數)

現在我想提出一個C#Windows窗體應用程序。我正在閱讀文本文件名和按鈕點擊事件我想要做到這一點。

  1. 檢查myServices.exe是否安裝在機器上。
  2. 如果安裝了,那麼我必須檢查它是否處於運行狀態。
  3. 如果它處於運行狀態,則停止它。
  4. 停止後,我需要卸載服務。
  5. 卸載它後,我想重新安裝,並有給文件名作爲服務的參數,然後運行它。

How to install a windows service programmatically in C#? 我都試過,但我不得不放棄參數中不存在那裏的服務。

+1

服務不支持命令行參數。鑑於您想使用Winforms應用程序來控制它,有強有力的證據表明您實際上不想使用服務。您可以創建就像在這方面的服務都可以通過寫不創建一個主窗口WinForms應用程序(接受命令行,沒有用戶界面)的過程。 –

回答

1

爲什麼不創建一個Windows應用程序使用,或者如果你堅持使用Windows服務應用程序有一個Windows服務應用程序使用和存儲初始目錄中有一個config文件列表。使用FileInfo和DirectoryInfo以及GetAllFiles()方法將文件存儲在List中並迭代List varList = new List();這種方式的變量對象。

你也可以做一個Web服務,並有Windows應用程序中加入一個web引用你,如果你想添加一個引用到一個附加/第三方組件,以同樣的方式消費該Web服務。的選項很多,你有