Как передать значения из пользовательского диалога в компонент - PullRequest
1 голос
/ 19 мая 2011

Я создал пользовательский диалог, который позволяет пользователю настроить учетную запись, под которой будет запускаться устанавливаемая нами служба.Я делаю это, прикрепляя событие свойства к кнопке «Далее» в моем настраиваемом диалоговом окне, которое устанавливает свойство [Account] :

<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>

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

1 Ответ

3 голосов
/ 19 мая 2011

Используйте публичное свойство , например, ACCOUNT. Частные свойства теряют свои измененные значения в InstallExecuteSequence.

Кроме того, при установке службы для определенной учетной записи убедитесь, что для этой учетной записи установлена ​​ Вход в систему как политика службы . В противном случае служба не запустится после установки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...