0

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

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

StartType=Automatic;ServiceName=MyService.

我也有带有属性的 serviceProcessInstaller1

Account=LocalSystem;

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

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

4

3 回答 3

0

How is your application being installed? Did you create an installer (.msi file) for it? It sounds like you're trying to implement your own installer instead of using existing tool to do this.

I recommend Advanced Installer. It is a very powerful installer generator and has all the features you need in the free version, and more importantly, it's very easy to use. This tool lets you create an install wizard with the ability to patch and uninstall your software (including services, registry values, files, etc).

于 2013-04-20T05:30:46.853 回答
0

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

@ECHO off

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

pause

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

我希望这会对你有所帮助。

于 2013-04-20T05:37:18.173 回答
0

如果您只需要在系统启动时运行您的 exe 文件(My Job.exe),您可以将您的 exe 添加到Windows 任务计划程序

使用 Windows 服务有什么特定目的吗?

我这么说的原因是您有多种选择来调用您的 exe,如下所示

  • 计划基于常见的重复事件,即计算机启动时或用户登录时。
  • 基于日历的计划,即每天、每周、每月或一次。
  • 高级选项,例如基于事件的执行等。
于 2013-04-20T05:38:03.030 回答