Некоторое время назад я написал ответ для чего-то похожего (я думаю): Wix: Служба Windows иногда удаляется при обновлении .Пожалуйста, прочитайте эту ссылку для нескольких различных предложений.
Незначительное обновление : В дополнение к опциям в связанном ответе вы также можете использовать незначительное обновление -если это вообще приемлемый вариант.При незначительном обновлении продукт не удаляется, а затем переустанавливается, а обновляется «на месте».Для того, чтобы небольшие обновления работали, вы должны следовать правилам компонента до буквы - что может быть трудно сделать, но вы можете выполнить обновление без потери сервисных кредитов. См. Ниже, как применяется незначительное обновление .И я просто сошлюсь на ответ с небольшим количеством информации о позднем REP .
Постоянный компонент : как и связанный ответ вышесостояния, вы можете установить компонент с настройками конфигурации службы, чтобы быть постоянным.В этом случае он никогда не будет удален во время обновления, но также и во время реального удаления.Соответственно, вы должны вручную очистить установку службы и установку файлов при «реальном» удалении (в отличие от удаления, инициированного крупным обновлением, которое устанавливает UPGRADINGPRODUCTCODE
).Вроде простой подход, который мне не очень нравится.
(управляемые) учетные записи служб : не то, что я использовал, но более новое концепция управляемых учетных записей , как описано выше, может быть исследован связанный ответ? Шаг за шагом .
Поздний REP / Сервис MSI : правильное планирование RemoveExistingProducts
поздно означает, что ваша служба не должна быть удалена во времяСценарии обновления (подробности см. в связанном ответе).Может быть трудно следовать всем правилам компонентов буквально, но вы можете упростить это, поместив свой сервис в свою собственную, минимальную установку MSI, а затем установив его с помощью пакета WiX Burn (последовательная установка файлов MSI).
Как указано несколько раз, прочитайте, пожалуйста, аналогичный ответ: Wix: Служба Windows иногда удаляется при обновлении .