Как установить и запустить службу Windows под учетной записью NetworkService с помощью WiX? - PullRequest
7 голосов
/ 05 января 2010

Я пытаюсь создать установщик wix для установки и запуска службы Windows под учетной записью NetworkService, но не получилось, но я не смог установить «Службу» (). Убедитесь, что у вас достаточно прав для установки системных служб. "

Пожалуйста, советуйте, мой код как ниже:

<Component Id="service" Guid='myguid'>
          <File Id='JobServiceEXE' Name='JobService.exe' DiskId='1' Source='mypath\JobService.exe' KeyPath='yes' />
          <ServiceControl Id="JobService" Name="[SERVICEID]" Stop="uninstall" Remove="uninstall" Wait="yes" />
          <ServiceInstall
          Id="JobService" Name="[SERVICEID]" DisplayName="[SERVICENAME]" Type="ownProcess"  Start="auto" ErrorControl="normal" Vital ='yes'
          Account="NT Authority\NetworkService"
          Description="Job Service" />
        </Component>

Спасибо!

Ответы [ 3 ]

17 голосов
/ 22 ноября 2010

Павел не отвечает правильно.Согласно документации MSDN, чтобы указать учетную запись сетевой службы, используйте «NT AUTHORITY \ NETWORK SERVICE»:

... имя учетной записи должно быть

NT AUTHORITY\NETWORKSERVICE

при вызове CreateService или ChangeServiceConfig , независимо от локали ...

Установите свойство "ALLUSERS", чтобы заставить администратораустановить.

см. эту ссылку для получения дополнительной информации

3 голосов
/ 05 января 2010

Во-первых, полученное вами сообщение может быть связано с проблемой безопасности. Ваш установщик должен запускаться администратором, поскольку для создания служб требуются права администратора. Вы можете проверить это в элементе Condition.

Во-вторых, при использовании NT Authority\NetworkService в качестве имени учетной записи произойдет сбой в неанглийских системах, поскольку встроенные имена учетных записей локализованы. Вместо этого используйте обычный старый NetworkService, который Wix распознает и преобразует в правильное локализованное имя.

1 голос
/ 07 октября 2011

У меня был этот на Windows 7, и это давало мне покоя целую вечность. Я исправил это, добавив

InstallScope="perMachine"

К моему элементу пакета:

<Package Description="..."
         Manufacturer="Microsoft Corporation"
         InstallerVersion="200"
         Languages="1033"
         Compressed="yes"
         InstallScope="perMachine"/>
...