Hi all,

I have a setup which installs three services:

ServiceA, ServiceB and ManagementService.

ServiceA and ServiceB are in different features but have a dependency on 
ManagementService, which lives in its own feature.

SerivceA and ServiceB should be able to start/stop the ManagementService.

So I use this snippet to install the service:

<Component Id="ManagementService" Guid="... ">
        <File Source="PathToFile" KeyPath="yes" />
        <ServiceInstall Account="LOCALSYSTEM" Id="ManagementService" 
DisplayName="ManagementService"  Name="ManagementService " Start="demand" 
Type="ownProcess" Description="...">
                <PermissionEx  
xmlns="http://schemas.microsoft.com/wix/UtilExtension"; 
User="[SERVICEAPERMISSIONACCOUNT]" ServiceQueryStatus="yes" ServiceStart="yes" 
ServiceStop="yes" />
                <PermissionEx  
xmlns="http://schemas.microsoft.com/wix/UtilExtension"; 
User="[SERVICEBPERMISSIONACCOUNT]" ServiceQueryStatus="yes" ServiceStart="yes" 
ServiceStop="yes" />
        </ServiceInstall>
        <ServiceControl Id="ManagementServiceControl " Name="ManagementService" 
Remove="uninstall" Stop="both" Wait="no"  />
</Component>

Both services use service sids in the form "NT Service\ServiceName".

If I install both features, all is well and the setup succeeds. But if I don't 
install ServiceB, the setup fails, because the SERVICEBPERMISSIONACCOUNT 
resolves to a principal which does not exist. So I need to put a condition on 
the PermissionEx tag. Unfortunately, the PermissionEx can only be put on a 
ServiceInstall element.

What would be the correct way to solve this? I didn't find anything on Google 
about this.

Kind regards,
Henning

------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to