Я работаю над установщиком, который должен установить несколько служб Windows. Мы создаем новые сборки (с новыми .msi файлами) довольно часто, и мы используем основные обновления, чтобы упростить установку по сравнению с предыдущей установкой.
Проблема заключается в том, что нам необходимо обновить служебные файлы, не перезаписывая конфигурацию службы (например, имя пользователя и пароль).
Мы используем ServiceInstall
и ServiceControl
внутри компонента, содержащего файл службы exe
. Есть ли способ сделать выполнение ServiceInstall
условным (с использованием условия вроде REMOVE="ALL" AND NOT UPGRADINGPRODUCTCODE
), чтобы служба не удалялась при обновлении (просто остановилась, чтобы мы могли обновлять файлы)?
Одним из решений было бы использование пользовательских действий, но, может быть, есть лучший способ?
Спасибо!