インストールするサービスを実行するアカウントをユーザーが構成できるカスタムダイアログを作成しました。これを行うには、 [アカウント]プロパティを設定するカスタムダイアログの[次へ]ボタンにプロパティイベントを添付します。
<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>
私の問題は、インストーラーログのプロパティイベントによって正しい値が公開されていることを確認できても、このコンポーネントが[アカウント]に公開された値を使用しないことです。だから私の質問は、サービスインストーラコンポーネントがカスタムダイアログによって公開された[アカウント]値を確実に取得するようにするにはどうすればよいですか?