2011-12-02 74 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服务。的选项很多,你有