Hi Marc-André,
When REINSTALLMODE is at its default value, during an update the files that didn't change from the previous version are not copied to the install location. But the RemoveExistingProducts element deletes them from there, and so some files are missing, until the .msi is re-run, to "repair" the installation.
In the previous version of this patch this was not needed, as RemoveExistingProducts was placed right at the beginning of the install sequence, and after it finished, it "looked like" no installation was there, so all the files were treated as new, and thus copied (same behavior). But using MajorUpgrade sets RemoveExistingProducts after InstallValidate, and so I needed to change the value of REINSTALLMODE, to force all the files to be copied anyway.
The cover letter was to explain the differences of this patch from the previous version of it (imho, the commit message should not refer to older versions of the patch that will never be pulled). That's why the REINSTALLMODE was mentioned only in the cover letter, and not in the commit message - it is just a different means to achieve the same result as in the previous patch. Of course, if you consider it to be more fitting, I can reword the commit message to go into these details.
Leonid.