我创建了一个自定义对话框,允许用户配置我们正在安装的服务将运行的帐户。为此,我将属性事件附加到自定义对话框上的 Next 按钮,该按钮将设置[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]值?