Необходимо иметь имя учетной записи и пароль для пользователя, которому вы хотите запустить службу. Я смог выполнить это, добавив пользовательский интерфейс к моему установщику с запросом имени пользователя и пароля, а затем используя предоставленные значения для атрибутов «Учетная запись» и «Пароль» в элементе ServiceInsall.
Обратите внимание, что учетная запись, используемая для запуска службы, должна иметь привилегию «Вход в систему». Это не предоставляется пользователям по умолчанию. Я смог использовать элемент User из схемы UtilExtension, чтобы добавить этот пользовательский ресурс пользователю. Добавление привилегированного пользователя будет успешным только в том случае, если пользователь, запускающий установщик, является администратором.
Вот код, который я использовал. SERVICECREDENTIALS_USERLOGIN и SERVICECREDENTIALS_PASSWORD - это свойства, заполненные пользовательским интерфейсом.
<Component Id="ServiceEXE" Guid="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx">
<File Id="ServiceEXE" Name="YourService.exe" DiskId="1"
Source="path\to\YourService.exe" KeyPath="yes" />
<util:User Id="UpdateUserLogonAsService" UpdateIfExists="yes" CreateUser="no" Name="[SERVICECREDENTIALS_USERLOGIN]"
LogonAsService="yes" />
<ServiceInstall Id="ServiceInstall" Type="ownProcess" Vital="yes" Name="YourService"
DisplayName="Your Service" Description="Your Service description"
Start="auto" Account=".\[SERVICECREDENTIALS_USERLOGIN]" Password="[SERVICECREDENTIALS_PASSWORD]"
ErrorControl="normal" Interactive="no" />
<ServiceControl Id="StartService" Start="install" Stop="both" Remove="uninstall" Name="YourService" Wait="yes" />
</Component>
для получения дополнительной информации: http://skullpsgblog.blogspot.in/2015/11/in-wix-setting-services-user-account.html
Я думаю, что я понимаю, что вы имеете в виду: я должен добавить свой собственный диалог с установщиком, который запрашивает у пользователя счетов + пароль. Я могу использовать эти значения в элементе 'ServiceInstall' для настройки учетной записи. Верный? Нет стандартного готового диалога, который я могу использовать? – nabulke
Исправить. Нет, нет стандартного диалога, насколько я знаю, но его должно быть довольно просто создать. –
Благодарим за помощь. – nabulke