Назад | Перейти на главную страницу

Можно ли запускать службу Windows несколько раз (с разными настройками)?

Может ли служба Windows (возможно, скопированная в несколько местоположений) запускаться несколько раз с использованием разных конфигураций (например, если служба поддерживает аргументы командной строки)?

Кажется, что служба устанавливается только один раз, так как имя должно быть уникальным.

Возможен ли такой сценарий и как лучше всего это сделать?

Это основа для "svchost.exe", ему просто присваиваются разные имена и параметры служб.

Это поможет: http://support.microsoft.com/kb/137890

Если под несколькими экземплярами одной и той же службы вы имеете в виду разные экземпляры одного и того же исполняемого файла, тогда обязательно. Вам просто нужно создать для него несколько "служебных" записей в таблице служб с разными именами и разными параметрами командной строки.

Гризли, похоже, говорит о другом, когда несколько служб работают внутри тем же процесс, как правило, экземпляр svchost.exe. Это требует, чтобы они использовали один и тот же исполняемый файл, хотя каждая служба размещена на svchost для указания библиотеки DLL и (необязательно) точки входа ServiceMain в Parameters подраздел служебного ключа. (Конечно, подробности svchost.exe использование не задокументировано - вероятно, чтобы люди не пытались делать сумасшедшие вещи, такие как загрузка некоторой версии .NET framework в один из критически важных для системы экземпляров, что в конечном итоге привело бы к тому, что какая-то другая служба попыталась бы загрузить разные версию фреймворка в ту же самую, и это было бы полным беспорядком ...)