Ответ 1
В прошлом году я столкнулся с той же проблемой, и я боролся с множеством тех же вопросов. Несколько советов:
-
Так как любая услуга может быть обновлена, обе службы будут функционировать как обновители другой. Услуга A будет обновите службу B и наоборот. Для эта причина, я предлагаю просто бежать обе службы в любое время. Если не вы беспокоитесь о загрузке вниз по вашему серверу звонки-обновления-существуют, включить/отключить управление услугами не стоит накладных расходов.
-
Подобные сервисы не могут быть установлены на одиночный машина. Другими словами, вы не могут устанавливать новые и старые версии служба бок о бок, если они одно и то же имя. Если вы не хотите усложнить процесс обновления, я предложите удалить старую версию а затем установите новую версию. Например, Service A будет загружать Установщик службы B, удаление Служба B, установите новую версию Обслуживание B, а затем запустить. Обслуживание B будет делать то же самое для службы А.
-
Поскольку каждая служба управляет другие, они должны не только проверять доступных обновлений, но они должны проверяйте друг друга здоровье. Для Например, служба A проверит, чтобы увидеть если Служба B существует, и если она Бег. Если проверка работоспособности завершилась неудачей, список шагов для решения проблемы и запустить работу будет завершена службой А. Выполнение проверка работоспособности и восстановление покроет вас теперь вопрос какой вопрос возникает с обновлением, начальным установки или общих операций.
-
Достаточно выполнить регистрацию на клиенте и сервер. Вы хотите отслеживать какие действия были предприняты и когда. Например, служба A может, когда она проверяет наличие обновлений, когда это выполнение проверки работоспособности и связанных действий. О сервисе (при условии, что вы звоните в сеть сервис ищет обновления) track звонки, совершаемые каждой службой. Если ваши услуги не обновляются по крайней мере, у вас будет след панировочные сухари (или отсутствие сухарей) указывая на проблему.
Есть буквально пучки потенциальных getchas с таким решением: службы не запускаются при запуске, UAC мешает, не имея возможности устанавливать и деинсталлировать сервисы с одним и тем же пользователем, гарантируя, что пользователь, устанавливающий службу, имеет достаточно разрешений, потери связи, получения .NET Framework на клиентском компьютере, обработки перезагрузки после установки и т.д.
Удачи. Это забавная проблема для решения, но это не обойтись без ее разочарования - тем более, поскольку, как вы сказали, информации о документах недостаточно.