Может ли wix запросить имя пользователя и пароль для службы Windows?
Я использую Wix для установки службы Windows. Служба должна будет работать под учетной записью не системной / службы, настроенной пользователем.
Можно ли попросить ввести имя пользователя / пароль для входа в службу?
4 ответа
WiX не имеет (или, по крайней мере, не имеет) ничего хорошего из коробки для того, что вы ищете. Лучший вариант, о котором я знаю, - это кататься самостоятельно.
Расширения сообщества MSI на GitHub содержат диалоговое окно ServiceCredDlg для запроса имени пользователя и пароля. Согласно документам, он может проверить действительность учетных данных, и у этого пользователя есть права "вход в систему как сервис".
Да, но это не встроенный. Вы можете настроить графический интерфейс в WiX (который не слишком интуитивно понятен), где вы можете запросить любой параметр, который вам понадобится на последующих этапах.
Во-первых, проверьте, как создать графический интерфейс пользователя, который устанавливает пользовательские свойства, следуя этим рекомендациям, гарантируя, что ваш графический интерфейс пользователя заполняет свойства SERVICEACCOUNT и SERVICEPASSWORD. Затем используйте элемент ServiceInstall с этими свойствами, как показано здесь.
Вы можете установить ПУБЛИЧНЫЕ СВОЙСТВА (верхний регистр) с учетными данными в командной строке и использовать их для установки службы.
msiexec.exe / I "setup.msi" / QN USER = "имя пользователя" PASS="пароль"
Настраиваемое действие также можно использовать для получения этих значений от пользователя во время интерактивной установки, но если вы делаете это, не забудьте сделать так, чтобы отображение сообщения соответствовало значению UILevel настроек. Отображение окна сообщения из настраиваемого действия при автоматической установке считается серьезной ошибкой установки:
- INSTALLUILEVEL_NONE 2 Полностью бесшумная установка.
- INSTALLUILEVEL_BASIC 3 Простой прогресс и обработка ошибок.
- INSTALLUILEVEL_REDUCED 4 Авторский интерфейс, диалоговые окна мастера отключены.
- INSTALLUILEVEL_FULL 5 Авторский интерфейс с мастерами, прогресс, ошибки.
Возможно, лучший вариант - показать диалоговое окно в интерактивной установке и отказаться от установки без вывода сообщений, если эти свойства не заданы в командной строке. Это простое настраиваемое действие для проверки значений свойств USER и PASS.
И, очевидно, не рекомендуется использовать учетные записи пользователей для запуска служб.