title: Small updates not applying with WiX
body: <p>I have WiX building MSIs as part of my automated build. I want the user to be able to install one of these builds and then be able to install the next day's version on top of it. </p>
  
  <p>Doing a minor or major upgrade which would require changing the build number within the <a href="http://msdn.microsoft.com/en-us/library/aa370859%28v=vs.120%29.aspx" rel="nofollow"><code>ProductVersion</code></a>, I don't see to be an option for several reasons: </p>
  
  <p>Firstly that the only thing I could think to peg it to is either the subversion revision or the build number but that number overflows at 65,535 which we could hit in the future. Secondly that number is already in use for distributing bug fix releases to customers.</p>
  
  <p>So if I cannot change the <code>ProductVersion</code> then the only option left to me is a <a href="http://msdn.microsoft.com/en-us/library/aa370579%28v=vs.120%29.aspx" rel="nofollow">Small Update</a>. I tried to achieve this by making sure the package code in the <a href="http://msdn.microsoft.com/en-us/library/aa371255%28v=vs.120%29.aspx" rel="nofollow">revision number summary</a> had changed by not specifying an <code>id</code> for the <code>package</code> element which according to the <a href="http://wixtoolset.org/documentation/manual/v3/xsd/wix/package.html" rel="nofollow">documentation</a> will result in a new one being generated each time.</p>
  
  <p><code>&lt;Package InstallerVersion="405" Compressed="yes" InstallScope="perMachine" /&gt;</code></p>
  
  <p>However when running the MSI this generates an error dialog appears warning the user that this product is already installed. The only way to install it is to pass <a href="http://msdn.microsoft.com/en-us/library/aa367575%28v=vs.120%29.aspx" rel="nofollow">additional command line arguments</a> to <code>msiexec</code> and even that doesn't seem to actually reinstall the components.</p>
  
  <p>Changing the <code>ProductCode</code> to be automatically generated <code>&lt;Product Id="*"...&gt;</code> but not changing the <code>ProductVersion</code> seems to follows the rules described for <a href="http://wixtoolset.org/documentation/manual/v3/xsd/wix/majorupgrade.html" rel="nofollow">setting <code>AllowSameVersionUpgrades</code></a> to <code>no</code> which is the default value. This means Windows Installer treats it as a separate package and installs it alongside the first one but again does not seem to overwrite the installed files, just adds an entry in the installed programs table.</p>