Каждый экземпляр клиента должен иметь свой собственный идентификатор. random-number-generator-service
должен иметь один идентификатор (даже если он работает в веб-ферме).
RandomNumberConsumer.exe
устанавливается на разных компьютерах вне домена, поэтому должен иметь уникальный идентификатор для каждой установки.
Клиент не имеет никакого отношения к пользователю, так как требование sub отсутствует. Единственный раз, когда клиент включает требование sub , это когда он действует от имени (и с согласия) пользователя. Это может иметь место для random-number-generator-service
, но не для RandomNumberConsumer.exe
, когда нет взаимодействия с пользователем (так как это служба Windows) и согласие не требуется, поскольку оно дается, когда пользователь запрашивает установку.
Когда вы говорите о службе Windows, настройка службы неизбежна. Однако вы можете выполнить шаги настройки в программе установки. Таким образом, вместо создания пользовательского интерфейса или взлома файла конфигурации, вы можете использовать следующий подход:
- Пользователь запрашивает установку программы. После утверждения клиент создается и присоединяется к арендатору (ClientClaims) на основе пользователя.
- Пользователь начинает загрузку установщика и получает идентификатор / секрет (на экране, электронная почта).
- Пользователь начинает установку, и на одном из шагов пользователь должен ввести идентификатор / секрет. Это приемлемо, так как это довольно распространено при установке программного обеспечения.
Это имеет те преимущества, которые вы хотите, и требует от пользователя минимальных шагов.
Если у службы есть больше параметров конфигурации, и вы хотите предоставить пользователю пользовательский интерфейс для сохранения параметров, добавьте программу настройки в установщик. Это довольно распространено для маршрутизаторов и принтеров. Пользователю не нужно входить в систему, поскольку он работает локально (сайт localhost). Вы можете добавить ссылку для браузера как ярлык.