WiX: установка сервиса как LocalService

Если бы Вы хотите его без пути тогда, Вы использовали бы ${0##*/}

15
задан Yan Sklyarenko 13 January 2016 в 08:48
поделиться

6 ответов

Вы пробовали ...

NT AUTHORITY\LocalService 

Согласно этому документу . ..

... но имя учетной записи должно быть NT AUTHORITY \ LocalService при звонке CreateService, независимо от языковой стандарт, или неожиданные результаты могут

10
ответ дан 1 December 2019 в 00:24
поделиться

ссылка: Таблица ServiceControl

В документации MSI для таблицы ServiceControl указано, что «Имя» - это строковое имя службы. В фрагменте кода для вашего ServiceControl 'Name' задано значение 'ID' для ServiceInstall, а не его 'Name'. Итак, ваши элементы ServiceControl должны выглядеть так:

<ServiceControl Id="StartDDService" Name="MyProgramAddon" Start="install" Wait="no" />
<ServiceControl Id="StopDDService" Name="MyProgramAddon" Stop="both" Wait="yes" Remove="uninstall" />
8
ответ дан 1 December 2019 в 00:24
поделиться

Имелась та же проблема, но с указанными учетными записями, он наскучил и вместо этого создал центр сертификации для запуска службы после завершения установки. Только не пытайтесь запустить его с помощью MSI, просто оставьте это CA, если вы не получите откуда-нибудь информацию о качестве.

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

3
ответ дан 1 December 2019 в 00:24
поделиться

Обратите внимание, что в документации для элемента ServiceInstall об атрибуте Account написано: «Учетная запись, под которой запускается служба. . Действителен, только если ServiceType имеет значение ownProcess. ". В вашем примере вы не указали тип службы ownProcess, который может быть проблемой.

1
ответ дан 1 December 2019 в 00:24
поделиться

Я потратил некоторое время на это и обнаружил, что это потому, что у меня атрибут keyath установлен на компоненте, а не на файле. Мой wix-файл теперь выглядит следующим образом:

<Component Id="comp_WF_HOST_18" DiskId="1" KeyPath="no" Guid="3343967A-7DF8-4464-90CA-7126C555A254">
    <File Id="file_WF_HOST_18" Checksum="yes" Source="C:\Projects\GouldTechnology\Infrastructure\WorkflowHost\WorkflowHost\bin\Release\WorkflowHost.exe" KeyPath="yes"/>

      <ServiceInstall
                 Id="workflowHostInstaller"
                 Type="ownProcess"
                 Vital="yes"
                 Name="WorkflowHost"
                 DisplayName="Workflow Host"
                 Start="demand"
                 Account="[WORKFLOW_HOST_USER_ACCOUNT]"
                 Password="[WORKFLOW_HOST_USER_PASSWORD]"
                 ErrorControl="critical"
                 Interactive="no"/>
    <ServiceControl Id="StartWFService" Name="workflowHostInstaller" Start="install"  Stop="both" Remove="both" Wait="no" />

</Component>

Теперь мне просто нужно разобраться, как дать ему правильные права....

2
ответ дан 1 December 2019 в 00:24
поделиться

У меня была такая же проблема. Оказалось, что у меня была опечатка в , где мое Name не совпадало с именем службы, которое я указал в проекте службы при его создании.

Это также было причиной того, что моя служба не удалялась.

3
ответ дан 1 December 2019 в 00:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: