Я использую Wix для установки службы Windows. Служба должна запускаться под учетной записью non system/service, настроенной пользователем.
Можно ли запросить имя пользователя/пароль для входа в систему?
Я использую Wix для установки службы Windows. Служба должна запускаться под учетной записью non system/service, настроенной пользователем.
Можно ли запросить имя пользователя/пароль для входа в систему?
WiX не имеет (или, по крайней мере, нет), ничего хорошего из-за того, что вы ищете. Лучший вариант, о котором я знаю, - это сделать свой собственный.
Сообщество MSI Extensions в GitHub содержит диалоговое окно ServiceCredDlg для запроса имени пользователя и пароля. Согласно docs, он может проверить, что учетные данные действительны и что пользователь имеет права входа в систему как услуги.
Да, но он не встроен. Вы можете настроить графический интерфейс в WiX (который не слишком интуитивно понятен), где вы можете запросить любые настройки, которые вам понадобятся на последующих этапах.
Во-первых, посмотрите, как создать графический интерфейс, который устанавливает пользовательские свойства, следуя этим рекомендациям, гарантируя, что ваш GUI заполняет свойства SERVICEACCOUNT и SERVICEPASSWORD. Затем используйте элемент ServiceInstall с этими свойствами, как показано здесь.
Вы можете установить PUBLIC PROPERTIES (верхний регистр) с учетными данными в командной строке и использовать их для установки службы.
msiexec.exe/I "setup.msi" /QN USER = "имя пользователя" PASS = "пароль"
A настраиваемое действие также может использоваться для извлечения этих значений у пользователя во время интерактивной установки, но если вы это сделаете, помните, что отображение сообщения соответствует настройкам Значение UILevel. Отображение окна сообщения из пользовательского действия в бесшумной установке считается серьезной ошибкой настройки:
Возможно, лучший вариант - показать диалог в интерактивной установке и отказаться от установки молча, если эти свойства не установлены в командной строке. Это простое пользовательское действие для проверки значений свойств USER и PASS.
И, очевидно, не рекомендуется использовать учетные записи пользователей для запуска служб.