2015-01-13 2 views
2

Я работаю над новым установщиком Wix.Создайте нового пользователя и установите службу Windows с помощью этого пользователя

  1. Что я пытаюсь сделать, это скопировать файл .exe в каталог.
  2. Создайте нового пользователя.
  3. Установите службу Windows с использованием этого нового пользователя.

    <!-- Create User --> 
    <util:User Id="UpdateUserLogonAsService" UpdateIfExists="yes" CreateUser="yes" Name="ServiceUser" PasswordNeverExpires="yes" Password="secret" /> 
    
    <ServiceInstall Id="ServiceInstaller" 
                Type="ownProcess" 
                Vital="yes" 
                Name="Windows:service" 
                DisplayName="Windows service install" 
                Description="test" 
                Start="auto" 
                Account="ServiceUser" 
                Password="secret" 
                ErrorControl="ignore" 
                Interactive="no" /> 
    <ServiceControl Id="StartService" 
           Start="install" 
           Stop="both" 
           Remove="uninstall" 
           Name="Windows:service" 
           Wait="yes" /> 
    

Создание работы пользователя, Установка службы работает до тех пор, как я использую свой текущий логин и пароль. Но как только я попытаюсь использовать нового пользователя, я получаю следующее сообщение об ошибке.

Убедитесь, что у вас достаточно прав для установки система обслуживания

enter image description here

Я попытался запустить MSI как администратор и она не меняется по-прежнему появляется ошибка. Я предполагаю, что это имеет какое-то отношение к тому, что у меня нет прав на установку службы для запуска под другим использованием. Но это предположение.

ответ

2

Вы должны предоставить пользователю право SeServiceLogonRight, используя атрибут LogonAsService в элементе Util :: User.

FWIW, это сообщение об ошибке является очень общим и обычно неправильным, поскольку установщик Windows не может знать, почему ваш сервис не смог правильно ответить (начать). Возможно, у вас могут возникнуть другие проблемы (например, запись вашего сервиса в каталог, в котором у вашей учетной записи есть разрешения на учетную запись службы), но, как минимум, у вас есть эта проблема.

Вот вам какое-то удовольствие. На этом экране перейдите в Service.msc и вручную переключите службу на SYSTEM и обратно в учетную запись. Вы должны получить сообщение о том, что учетной записи было предоставлено право. Затем нажмите «Повторить» в своем диалоговом окне. Если установка работает, это была ваша единственная проблема.

Это право можно увидеть в редакторе групповой политики. С тех пор установка будет работать, потому что право уже установлено извне благодаря Services.msc. Верните виртуальную машину или удалите права, используя групповую политику, и проблема вернется. Исправьте установщик, перестройте и повторите проверку, и право должно автоматически применяться WiX во время установки.

+0

Это на самом деле не появляется, чтобы установить службу. Пользователь установлен. – DaImTo

+0

Ваши wxs отредактированы, поэтому трудно сказать. Можете ли вы опубликовать журнал установки? Вы читали журнал? –

+0

Это мой первый установщик с Wix. Установить журнал? есть журнал установки! Теперь я должен найти это. – DaImTo

1

В дополнение к LogonAsService, вам необходимо указать это локальная учетная запись машина:

Account=".\ServiceUser" 
+0

Поскольку я использовал свойство, мне нужно было указать 'Account =.. \ [SERVICEACCOUNT]" для локальной учетной записи. Без '. \' Он не работал. – bloudraak

Смежные вопросы