title: Preserve old version of product during major upgrade
body: <p>guys, </p>
  
  <p>I have the following case: I want during the major upgrade to preserve the version of the product being upgraded (e.g. if I am upgrading from 1.1 to 1.2, to save the value 1.1) and to run an executable passing this version as a parameter, after the install of the new product finishes. This will mean that I will call this somewhere around <code>InstallFinalize</code>. I found this very helpful article for my case: <a href="http://blogs.technet.com/b/alexshev/archive/2008/02/21/from-msi-to-wix-part-5-custom-actions.aspx" rel="nofollow">http://blogs.technet.com/b/alexshev/archive/2008/02/21/from-msi-to-wix-part-5-custom-actions.aspx</a></p>
  
  <p>The problem that I experience is that I don't know and can't find an explanation on when will the property be set. When will this registry search be executed. Am I going to set this property once on the start of the upgrade or is it going to be set dynamically when the property is being invoked?</p>