Как пройти значения из пользовательского диалога до компонента

StackOverflow https://stackoverflow.com/questions/6058134

Вопрос

Я создал пользовательский диалог, который позволяет пользователю настроить учетную запись, под которой работает сервис, которую мы устанавливаем.Я делаю это, прикрепив событие свойства к следующей кнопке на моем пользовательском диалоге, который установит [УЧЕТ] СВЯЗЬ:

<Publish Property="Account" Value="[USERNAME]">USERACCOUNT = "1"</Publish>
<Publish Property="Account" Value="Local System"><![CDATA[USERACCOUNT <> "1"]]></Publish>
.

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

<Component Id="Service" Guid="*" >
  <File Id="ServiceExe" KeyPath="yes" Source="$(var.ServiceFiles)\Service.exe" />
  <ServiceInstall Vital="yes" ErrorControl="ignore" Type="ownProcess" Account="[Account]" Name="$(var.ServiceName)" Description="Service running as [Account]" Start="auto" />
  <ServiceControl Id="ServiceControl" Remove="both" Name="$(var.ServiceName)" Start="install" Stop="both"/>
</Component>
.

Моя проблема заключается в том, что этот компонент не использует значение, опубликованное для [УЧЕТ] , хотя я могу видеть, что правильные значения публикуются событием свойств в журнале установщика.Таким образом, мой вопрос в том, как я могу убедиться, что компонент Услуги Установщика поднимает значение [УЧЕТ] , опубликованном моим пользовательским диалоговым окном?

Это было полезно?

Решение

Use a public property, for example ACCOUNT. Private properties lose their modified values in InstallExecuteSequence.

Also, when installing a service for a specific account, make sure that the Log on as a service policy is set for that account. Otherwise the service will not start after installation.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top