Цель: для поддержки службы Windows, которая может иметь несколько экземпляров на одном компьютере, используйте проект установки для создания MSI, способного:
- Получение пользовательского ввода для имени службы
- Установка службы
- Сериализация имени службы с 1 (чтобы правильное имя можно было использовать при регистрации и удалении)
Моя первоначальная надежда состояла в том, чтобы установить имя службы в App.config (а затем получить его во время удаления при создании экземпляра ServiceInstaller. Это кажется наивным, потому что оно недоступно во время установки.
Если MyInstaller расширяет Installer, он может вызывать base.Install(); однако мои попытки написать в app.config (внутри MyInstaller.Install() и после base.Install()) неэффективны.
Таким образом, хотя служба может быть установлена с произвольным именем службы, это имя не сериализуется, и установщик крайне недоволен удалением.
Как это сделать?