title: Wix Major Upgrade: how do I prevent Windows service reinstallation?
body: <p>I'm working on an installer that is supposed to install several Windows services. We make new builds (with new .msi files) pretty often, and we use major upgrades to make it easy to install over a previous installation.</p>
  
  <p>The problem is that we need to update the service files without overwriting the service configuration (account username and password, for instance).</p>
  
  <p>We're using <code>ServiceInstall</code> and <code>ServiceControl</code> inside the component that holds the service <code>exe</code> file. Is there a way to make the execution of <code>ServiceInstall</code> conditional (using a condition like <code>REMOVE="ALL" AND NOT UPGRADINGPRODUCTCODE</code>) so the service is not uninstalled when upgrading (just stopped so we can upgrade the files)?</p>
  
  <p>One solution would be to use custom actions, but maybe there is a better way?</p>
  
  <p>Thanks!</p>