Wix serviceinstall указать аккаунт

Я создал установщик службы с WiX. Установка работает с InstallPrivileges="elevated". Моя служба должна иметь доступ к удаленной папке, поэтому я хочу указать атрибут пользователя, чтобы быть уверенным, что служба будет иметь достаточные привилегии.

Я проверил документацию WiX, но я только нашел, как определить локальную систему как учетную запись.

Как я могу определить пользователя для службы (возможно, текущего пользователя)?

<ServiceInstall Id="ServiceInstaller"
                Type="ownProcess"
                Vital="yes"
                Name="$(var.service)"
                DisplayName="$(var.product)"
                Start="auto"
                Account="LocalSystem"
                ErrorControl="normal" />

Вы должны определить "удаленную папку", это сетевая папка? Имя акции? Похоже, вы решили, что решение состоит в том, чтобы предоставить службе набор учетных данных, но проблема доступа к «удаленной папке» четко не определена.

PhilDW 10.08.2018 18:56
2
1
2 049
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Реквизиты для входа: Вам нужно указать учетную запись и пароль, может быть, как показано ниже (сейчас нет времени тестировать). Обратите внимание, что общедоступные свойства могут быть установлены при установке из командной строки с помощью msiexec.exe или через Диалоги MSI:

<..>

<Property Id="SERVICEACCOUNT" Hidden="yes" Value="MyUser"/>
<Property Id="SERVICEPASSWORD" Hidden="yes" Value="MyPass"/>

<..>

<Component>

   <ServiceInstall Name="MyService" Start="auto" ErrorControl="normal" Type="ownProcess"
                   Account="[SERVICEACCOUNT]" Password="[SERVICEPASSWORD]" >
   </ServiceInstall>

   <ServiceControl Name="MyService" Start="install" Stop="both" Wait="yes" Remove="uninstall" />

</Component>

Создать локальных пользователей: Если вам нужно создать локальных пользователей на машине, на которой вы устанавливаете, вы можете использовать функции WiX Util. Возможно увидеть этот образец на github. Найдите "util:User".


Обязательная проповедь :-): Лично мне не нравятся службы, работающие с учетными данными пользователя - как для security reasons, так и для practical reasons (управление процессом смены пароля без серьезных сбоев в работе службы).

Подробнее в Section 12 здесь: Как избежать распространенных недостатков дизайна в моем решении для развертывания WiX / MSI? Пожалуйста, проверьте также ссылки - может быть, особенно на «управляемые сервисные аккаунты»? (шаг за шагом).


Некоторые ссылки:

Другие вопросы по теме