繁体   English   中英

如何在C#中添加窗口服务/安装它并通过此窗口服务运行exe(My Job.exe)?

[英]How can I add window Service in C#/ install it and Run exe(My Job.exe) through this Window Service?

其实我想通过C#中的窗口服务运行exe文件(我的Job.exe),但是启动计算机时应该自动启动窗口服务吗?

我已经手动添加了窗口服务(MyService)。 我还在我的应用程序的安装项目中添加了此服务,以便在安装我的应用程序时也可以进行安装。 我有带属性的serviceInstaller1

StartType=Automatic;ServiceName=MyService.

我也有带有属性的serviceProcessInstaller1

Account=LocalSystem;

运行此程序时,我的Applicationo已安装,但MyService未安装,并且在计算机管理服务中也没有看到它。

任何人都可以帮助我,我已经花了两天时间,但没有找到正确的指导方针。 提前致谢。

如何安装您的应用程序? 您是否为此创建了安装程序(.msi文件)? 听起来您正在尝试实现自己的安装程序,而不是使用现有工具来执行此操作。

我建议使用高级安装程序 它是一个非常强大的安装程序生成器,具有免费版本中所需的所有功能,更重要的是,它非常易于使用。 使用此工具,您可以创建具有修补和卸载软件(包括服务,注册表值,文件等)功能的安装向导。

我最近在VS2010和.Net 4.5中有一个带有Windows服务的项目,而用户操作系统将是Windows Server2008。很长一段时间我无法创建功能齐全的安装,但是我仍然没有,但是请求已更改,因此无需安装文件。 但我可以给您“如何做”的建议。 如果您尚未购买InstallShield版本,则需要找到其他一些用于创建安装文件的程序。 对于安装,您只需复制服务的.exe输出,一个批处理文件将具有下一个内容:

@ECHO off

"C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe" "%~dp0%<filename>.exe"

pause

然后您需要以管理权限运行此批处理文件。 两个文件(.exe和.bat)必须位于同一文件夹中。 您可以删除pause命令,但随后将看不到服务注册是否成功。 确保已在PC上安装了目标.NET Framework。

希望对您有帮助。

如果您只需要在系统启动时运行exe文件(我的Job.exe),则可以将exe添加到Windows Task Scheduler中

使用Windows服务是否有特定目的?

我之所以这样说,是因为您可以使用多种选项来调用exe,如下所示

  • 根据常见的重复事件进行计划,即计算机启动时或用户登录时。
  • 根据日历进行计划,即每天,每周,每月或一次。
  • 高级选项,例如基于事件的执行等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM