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

У меня есть установщик wix для службы Windows. В соответствии с требованием, если указаны все доменное имя, имя пользователя и пароль, служба должна быть установлена ​​с этой учетной записью пользователя, в противном случае служба должна работать с локальной системой после установки.

Как настроить учетную запись на основе условий? Ниже приведен код для установки службы:

<Component Id="CMPFa85281c3_a329_4a93_a1d7_203fbccec31f" Guid="*" Directory="INSTALLLOCATION">
  <Condition>
    <![CDATA[Installed OR (SVCINSTALL <> 0)]]>
  </Condition>
  <RemoveFile Id="RmFa85281c3_a329_4a93_a1d7_203fbccec31f" Name="MyService.exe" On="both" />
  <File Id="Fa85281c3_a329_4a93_a1d7_203fbccec31f" Source="$(var.BaseDir)\MyService.exe" KeyPath="yes" />

  <ServiceInstall Id="InstallWindowsService" Name="$(var.SvcName)" 
                  DisplayName="$(var.SvcDisplayName)"
                  Start="auto" 
                  ErrorControl="normal" 
                  Type="ownProcess"
                  Account="LocalSystem"
                  Description="$(var.SvcDescription)"/>

  <ServiceControl Id="sc_InstallWindowsService" Name="$(var.SvcName)" Start="install" Remove="uninstall" Stop="both" Wait="no"/>

</Component>

1 ответ

Я бы добавил два идентичных компонента, кроме ServiceInstall элемент и состояние компонентов, так что только один установлен. Подобно:

<Condition>DOMAINNAME And USERNAME And PASSWORD</Condition>

И наоборот:

<Condition>Not(DOMAINNAME And USERNAME And PASSWORD)</Condition>
Другие вопросы по тегам