Hi, On Mon, Aug 3, 2015 at 4:19 PM, Marc-André Lureau <marcandre.lur...@gmail.com> wrote: > Hi > > On Mon, Aug 3, 2015 at 3:00 PM, Leonid Bloch <leo...@daynix.com> wrote: >>> >>> yes, but if you remove that RemoveExistingProducts too, then what fails? >> Only the manual call for RemoveExistingProducts is removed. >> MajorUpgrade places it automatically in the InstallExecuteSequence >> table. > > > I think the root of the problem is that the wxs doesn't follow the > "component rules": "qemu_ga" shouldn't contain various libs and > executable. Instead, each file should have its own component. Then I > think RemoveExistingProducts would actually remove only the components > that are to be upgraded. And that REINSTALLMODE trick wouldn't be > necessary. I would fix to follow the principles recommended here: > https://msdn.microsoft.com/en-us/library/aa368269%28VS.85%29.aspx. You are right, however here, the goal is just to install one single file - qemu_ga.exe, and 6--8 libs to support it. All into a single directory. No complicated scenarios or databases to retain. In such a case, don't you think that it will actually be safer and more robust to just reinstall everything upon upgrade? It's not a problem to wrap each file in its own "Component", but it will add unnecessary clutter to a code that does something extremely simple, imho. > > -- > Marc-André Lureau
Leonid.