WiX - последовательность пользовательских действий и установка службы - PullRequest
1 голос
/ 20 апреля 2011

Я собираю установку для службы Windows (управляемой).Я хотел бы иметь возможность обновлять свой конфигурационный файл на основе пользовательского ввода из диалога.Файл конфигурации корректно обновляется, и служба Windows устанавливается, но не похоже, что служба регистрирует изменения в конфигурации.Я испортил последовательность?Я хочу запустить свое настраиваемое действие "ServiceConfig" до того, как служба будет установлена ​​и запущена.

Вот выдержка из моих WiX-файлов:

<Component Id="cmpXyzService.exe" Guid="NOTAREAL-GUID-90X5-12C5-ABC123XYZ890">
    <File Id="file_XyzService.exe" KeyPath="yes" Source="$(var.SourceDir)\XyzService.exe" />
    <ServiceInstall Id="InstallXyzService" Name="Service.XYZ" DisplayName="XYZ Service" Start="auto" Vital="yes" Interactive="no" ErrorControl="normal" Type="ownProcess" />
    <ServiceControl Id="ServiceControlXyzService" Name="Service.XYZ" Start="install" Stop="both" Remove="uninstall" Wait="no"/>
</Component>

<CustomAction Id="SetPropertiesForService" Property="ServiceConfig" Value="[SERVICEINSTANCENAME],[CONFIGVALUE1],[CONFIGVALUE2]" />
<Binary Id="UpdateConfigFileCustomAction.CA.dll" SourceFile="$(var.UpdateConfigFileCustomActionDir)\UpdateConfigFileCustomAction.CA.dll" />
<CustomAction Id="ServiceConfig" BinaryKey="UpdateConfigFileCustomAction.CA.dll" DllEntry="EditConfigFile" Execute="deferred" Return="check" />

<InstallExecuteSequence>
  <Custom Action="SetPropertiesForService" Before="ServiceConfig" >NOT Installed</Custom>
  <Custom Action="ServiceConfig" After="InstallFiles" >NOT Installed</Custom>
</InstallExecuteSequence>

Вот урезанная копиятаблица InstallExecuteSequence из Orca

StopServices    VersionNT       1900
DeleteServices  VersionNT       2000
RemoveFiles                     3500
InstallFiles                    4000
SetPropertiesForService NOT Installed   4001
ServiceConfig     NOT Installed 4002
InstallServices VersionNT       5800
StartServices   VersionNT       5900
RegisterUser                    6000
RegisterProduct                 6100
MsiPublishAssemblies            6250
PublishFeatures                 6300
PublishProduct                  6400
InstallFinalize                 6600
RemoveExistingProducts          6601

Извинения, если я отредактировал что-то важное - я не хотел сбрасывать все, что имел.Я считаю, что я включил все, что имеет отношение.

1 Ответ

0 голосов
/ 27 апреля 2011

По последнему комментарию:

Это вызвало беспорядки еще в 2006 . Я нашел этот обходной путь хотя. По сути, WiX не распознает атрибут RunInstallerAttribute.

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