Как я могу запустить свое приложение в качестве службы Windows?

У меня есть приложение для Windows, которое я хочу запустить в качестве службы Windows - как я могу это сделать?

11.12.2008 15:36:29
Что вы программируете в этом? .Сеть?
kemiller2002 11.12.2008 15:38:24
Обратитесь к этому Вопросу, почти то же самое [ stackoverflow.com/questions/6715277/… [1]: stackoverflow.com/questions/6715277/…
Yaman 31.03.2012 09:54:11
5 ОТВЕТОВ

Быстрый способ, используйте инструменты INSTSRV и SRVANY в Windows Resource Kit: Как создать пользовательскую службу

2
11.12.2008 15:45:53

Вы можете использовать инструмент для этого: XYNTService .

Это сервис, который может запускать обычные приложения, мы используем его на работе, а также он работает с приложениями с графическим интерфейсом. Поскольку служба работает под локальной учетной записью SERVICE, вы не можете видеть GUI или получать к нему доступ каким-либо образом, потому что она работает в другом сеансе winlogon.

3
11.12.2008 15:49:48

Решение для приложения .Net, у вас есть исходный код:

Если у вас есть хорошо отделенный контроллер и бизнес-логика (MVC), это будет очень просто и быстро.

Сначала создайте новый проект в своем решении и выберите «Служба Windows». Это создаст вам новый проект с классом Program, который будет содержать Main.

Внутри 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 (...) с потоком.

В остальном, ссылка от Патрика Каффа хорошая.

1
11.12.2008 15:54:50

В дополнение к уже рекомендованным XYNTService и SRVANY следует рассмотреть AlwaysUp, коммерческий продукт, предназначенный для запуска любого приложения в качестве службы Windows . Вы можете попробовать его бесплатно в течение 30 дней, чтобы убедиться, что он сделает всю работу за вас.

Удачи!

0
24.07.2010 08:12:21

Попробуй это:

http://support.microsoft.com/kb/137890

Это будет работать для любой версии Windows. Я недавно проверил это с Server 2008.

1
24.07.2010 08:22:09