Сначала прочитайте о создании настроек (да, вы можете использовать ServiceProcessInstaller и ServiceInstaller в настройках)
Далее рассмотрим создание модуля слияния. Модуль слияния похож на библиотеку, которую вы можете включить в свои настройки. Таким образом, вы бы создали модуль слияния для вашей службы и включили бы этот модуль слияния в каждую настройку вашего продукта.
Редактировать (добавлены инструкции по настройке модуля слияния)
Во-первых, убедитесь, что ваша служба устанавливается правильно, если вы используете InstallUtil (этот шаг проверяет, что код вашей программы установки и службы установлен правильно и приписан).
Далее, как только это сработает, я думаю, что все, что вам нужно сделать, - это настроить модуль слияния для установки службы. Вот как это сделать:
Откройте свое решение и щелкните правой кнопкой мыши по проекту слияния.
Выбрать Просмотр | Пользовательские действия (в окне вашего текстового редактора откроется новая вкладка)
На вкладке редактора настраиваемых действий щелкните правой кнопкой мыши папку «Установка» и выберите «Добавить настраиваемое действие» (откроется диалоговое окно)
В диалоговом окне «Выбрать элемент в проекте» выпадающий список «Искать в» и выбрать «Папка с возможностью перезапуска модуля»
Нажмите кнопку «Добавить вывод» (другое диалоговое окно)
В диалоговом окне «Добавить вывод проекта» выберите свой сервисный проект в раскрывающемся списке «Проект».
В списке выберите «Первичный вывод» (вы говорите модулю слияния искать ваш код установщика. Вы говорите, ищите его в скомпилированном выводе моего сервисного проекта, и что во время выполнения установки вывод будет в каталоге установки сервиса)
OK всех диалогов.
Выполните те же действия в папке Uninstall, чтобы и ваша служба также была правильно удалена.
Теперь небольшой отказ от ответственности: я знаю , что это работает с обычными (msi) проектами установки. Я не сделал этого с помощью модуля слияния, но я почти уверен, что он будет работать.
Удачи!