Я разработал (VS2019) службу Windows в C# с использованием Topshelf. Эта служба намерена периодически выполнять некоторые задачи. Чтобы отследить ведение журнала этой службы, я создал пользовательский интерфейс, который подключается к службе с помощью WCF-контракта. Сервис, пользовательский интерфейс и взаимодействие между ними работают очень хорошо, без проблем.
Я также создал установщик для пользовательского интерфейса, чтобы конечный пользователь мог использовать его на своем рабочем столе или другом компьютере. Для службы я также создал установщик, но у меня есть несколько вопросов по этому поводу:
Как уже говорилось, службе необходимо подключиться к базе данных (MS SQL -Server), поэтому мне нужен пользователь (тот, кто устанавливает сервис), чтобы иметь возможность настроить строку подключения на основе имени сервера, имени базы данных и типа подключения (Windows / SQL аутентификация). Если выбрана аутентификация SQL, такие поля, как имя пользователя и пароль, должны стать доступными, как и диалоговое окно подключения SSMS. Насколько я вижу прямо сейчас, нет возможности интегрировать его в установщик (по умолчанию) из Visual Studio. Запуск формы при запуске службы также не является вариантом, потому что служба не взаимодействует с рабочим столом (несмотря на настройку в службах).
Опция может отправлять строку подключения и другие параметры с помощью пользовательского интерфейса, но когда служба запускается, она должна иметь эти параметры (например, строку подключения). Когда служба не работает, пользовательский интерфейс не может подключиться к службе.
Какой лучший подход для достижения моей цели и как это можно решить?