如何将我的应用程序作为Windows服务启动?

时间:2008-12-11 15:36:30

标签: windows-services

我有一个Windows应用程序,我想作为Windows服务运行 - 我该怎么做?

5 个答案:

答案 0 :(得分:3)

您可以使用工具执行此操作:XYNTService

这是一项可以启动常规应用程序的服务,我们在工作中使用它,它也适用于GUI应用程序。由于该服务在本地SERVICE帐户下运行,因此您无法以任何方式查看GUI或访问它,因为它正在另一个winlogon会话中运行。

答案 1 :(得分:2)

快速弄脏,使用Windows资源工具包中的INSTSRV和SRVANY工具: How To Create a User-Defined Service

答案 2 :(得分:1)

您拥有源代码的.Net应用程序的解决方案:

如果你的项目有一个控制器和业务逻辑完全分离(MVC),这将非常容易和快速。

首先,在解决方案中创建一个新项目,然后选择“Windows服务”。这将创建一个包含Main。

的Program类的新项目

在Main中,您需要附加Service Base类。

static class Program
{
    static void Main()
    {
        ServiceBase[] ServicesToRun;
        ServicesToRun = new ServiceBase[] {new Service1(), new MySecondUserService()};
        ServiceBase.Run(ServicesToRun);       
    }
}

在您的服务中(扩展ServiceBase的人需要覆盖:

protected override void OnStart(string[] args)

要调用控制器来启动作业,或者只需使用线程开始while(...)。

否则,Patrick Cuff的链接是好的。

答案 3 :(得分:1)

答案 4 :(得分:0)