title: Using WiX to install process with multiple windows services
body: <p>I'm a newbie to WiX and am trying to create an installer that install an app that contains 3 windows services.  One of these services in a dummy to provide a hook for debugging the other two.  I can successfully install the services using InstallUtil, but need a more complete installation that includes other components and applications.</p>
  
  <p>In the WXS file there are three ServiceInstall nodes and three ServiceControl nodes within the component.  These nodes refer to the names of the three services defined within the application executable.</p>
  
  <p>Running the installer completes successfully, with the services reported as being installed and started.  However, the features of the second and third services are not available and checking the event log reveals the start-up message of the dummy service being entered 3 times.  Similar when stopping all 3 services - the dummy shut-down message appears 3 times.  It would seem that there is some breakdown between the declaration of the services in the WSX file how the services are actually installed.</p>
  
  <p>The XML from the WSX file relating to this components is as follows:</p>
  
  <pre><code>&lt;Component Id="LPMMANAGEMENTSERVICE.EXE" 
      Guid="36C773C5-EF30-4D8D-B9CC-015EBE906CCB" DiskId="1"&gt;
          &lt;File Id="LPMMANAGEMENTSERVICE.EXE" Name="LPMManagementService.exe" Source="Projects\LumePress\LumeJetManagement\LPMManagementService\bin\Release\LPMManagementService.exe" /&gt;
              &lt;ServiceInstall Name="LPMManagementDebug" Type="ownProcess" Start="auto" 
                              ErrorControl="critical" Interactive="no" Account="LocalSystem" 
                              Vital="yes" DisplayName="LPM Management Service Debugger" 
                              Description="This service provides a process startup without starting the key services, allowing a debugger to attached and handle onstart and onstop" 
                              Id="LPM_Management_Service_Debugger_Installer" /&gt;
              &lt;ServiceInstall Name="LPMServiceListeners" Type="ownProcess" Start="auto" 
                              ErrorControl="critical" Account="LocalSystem" DisplayName="LPM Management Service Listeners" 
                              Id="LPM_MANAGEMENT_SERVICE_LISTENERS_INSTALL" Interactive="no" Vital="yes" 
                              Description="Provides WebAPI and WCF Services for the LPM Architecture" /&gt;
              &lt;ServiceInstall Name="LPMMonitoring" Type="ownProcess" Start="auto" ErrorControl="critical" 
                              Description="Manages and logs events from the LPM Core perl executable" 
                              DisplayName="LPM Management Service LPM Core and Monitoring" Account="LocalSystem" 
                              Id="LPM_MANAGEMENT_SERVICE_CORE_INSTALL" Interactive="no" Vital="yes"&gt;
                  &lt;ServiceDependency Id="LPMServiceListeners" /&gt;
              &lt;/ServiceInstall&gt;
              &lt;ServiceControl Id="LPM_MANAGEMENT_DEBUG_CONTROL" Name="LPMManagementDebug" 
                              Remove="uninstall" Start="install" Stop="both" /&gt;
              &lt;ServiceControl Id="LPM_MANAGEMENT_SERVICE_LISTENERS_CONTROL" Name="LPMServiceListeners" 
                              Remove="uninstall" Start="install" Stop="both" /&gt;
              &lt;ServiceControl Id="LPM_MANAGEMENT_SERVICE_CORE_CONTROL" Name="LPMMonitoring" 
                              Remove="uninstall" Start="install" Stop="both" /&gt;
          &lt;/Component&gt;
  </code></pre>
  
  <p>I've found various questions that relate to creating multiple services, but I can find no question that relates directly to this scenario or similar enough to extrapolate what I am doing wrong.</p>
  
  <p>Hopefully someone will have a suggestion that might help.</p>
  
  <p>Happy to provide additional information if I've missed something obvious.</p>