WiX MSI install Windows service without starting it

Do not use the ServiceControl element as it is what will start and stop services. By calling it, you are asking the installer to do something with a service. You only need to call ServiceInstall to create a service. As Stefan Wanitzek suggested, you should use demand in the Start attribute of your ServiceInstall. This is to make your service not start running if the user reboots the computer. If your installer is also installing the .exe as welladd the file with the install service. I would suggest to use the following taken from your code:

<Component Id="ServiceInstaller" Guid="3e412e3d-0339-325c-8633-f54ffaaa4921">
        <File Id="WindowsService.exe" 
         Name="WindowsService.exe" 
         KeyPath="yes"
         Source="Path to the EXE"/>
        <ServiceInstall Id="ReportingServiceInstaller"
                Type="ownProcess"
                Vital="yes"
                Name="WindowsService"                    
                DisplayName="WindowsService"
                Description="Wickedly awesome and amazing service."
                ErrorControl="ignore"
                Account="NT AUTHORITY\LocalService"
                Start="demand"
                Interactive="no" />
</Component>

devfunkd's solution is correct, but there are several issues that need to be discussed first.

One, you can eliminate ServiceControl, but you may also just remove the Start attribute. This helps with stopping the service at update. And no, Start doesn't have a "none" option, nor is it valid to write Start="", which would allow using a simple variable instead of copy pasting entire components.

Two, whenever a service is being updated, the RestartManager gets involved. If the service is running, the service is stopped, then the Setup does what it was instructed to do, including not starting the service, then RestartManager restores the original state of the service (started). I spent a day figuring THAT out.

Note that you could disable setup's interaction with RestartManager (see https://docs.microsoft.com/en-us/windows/desktop/Msi/msirestartmanagercontrol), but then you need to make sure you don't require a restart if the setup stumbles over files in use.

In other words, whether you remove ServiceControl altogether or only the Start attribute, in order to make sure the services are not started after an update you need to stop them manually before the setup.