WIX ServiceInstall - настройка службы для запуска под учетной записью NetworkService - PullRequest
4 голосов
/ 22 октября 2009

Я пытаюсь создать установщик WIX для установки службы Windows, работающей под учетной записью NetworkService, и получаю сообщение об ошибке «Недостаточные привилегии» во время установки.

Я нашел этот пост, где кто-то, похоже, испытывает ту же проблему, но реального решения не было предложено:

http://n2.nabble.com/Re-WiX-users-Digest-Vol-40-Issue-129-td3782055.html

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

Ответы [ 4 ]

5 голосов
/ 20 июня 2012

ПРИМЕЧАНИЕ. Приведенный ниже ответ относится только к более ранним сборкам WIX и Windows на момент постановки вопроса. Текущая версия учетных данных службы WIX будет работать, если вы установите собственный "NT". Домен "AUTHORITY" и учетная запись "NetworkService" (сейчас места не требуется).


Оригинальный ответ:

Правильное имя пользователя: «NT Authority \ Network Service», а не «NT Authority \ NetworkService». Требуется пробел, чтобы он работал.

Забавно, что по умолчанию «LocalSystem» работает напрямую с WIX 3.5, но для других хорошо известных учетных записей вы должны использовать префикс «NT Authority ...», например, «LocalService» не работает и при непосредственном использовании. *

т.е. исправить это с помощью:

Account = 'NT Authority \ Network Service'

1 голос
/ 16 марта 2015

У меня был следующий фрагмент, работающий под Windows 8.1 FR и Windows 2012R2 ENU. Но использование NT AUTHORITY\NETWORK SERVICE не удалось с ошибкой с недостаточными привилегиями .

Таким образом, по крайней мере в современных системах вы должны использовать NT AUTHORITY\NETWORKSERVICE, как описано в MSDN .

              <ServiceInstall Id="xserviceInstall" Name="$(var.xServiceid)" 
              DisplayName="$(var.xServiceid)" 
              Description="x service" Start="auto" Type="ownProcess"
              ErrorControl="ignore" 
              Account="NT AUTHORITY\NETWORKSERVICE" 
              Arguments="-w -N" Vital="yes" />
1 голос
/ 22 октября 2009

Кажется, что несколько остатков ранее неудачной установки мешали мне удалить и переустановить с помощью Account = "NT Authority \ NetworkService". Все хорошо во Вселенной снова.

0 голосов
/ 21 мая 2016

Я использовал customAction , чтобы найти правильные учетные данные пользователя.

Если учетные данные пользователя совпадают с учетной записью на компьютере, который они хотят установить, я разрешу им перейти к следующему диалоговому окну (UI), в противном случае я покажу другой диалог, указывающий пользователю, что учетная запись не найдена.

...