I've created an installation package (via WIX) that takes advantage of instance transforms to allow itself to be installed multiple times on one machine. Without giving it a lot of thought, I also added support for major upgrades (as I had done many times previously).
Today, a new version of the product was installed for the first time, and the behavior was not quite what I expected: Even though the installation was targeted at a new instance, it appears that all the other instances (all at an older version) were uninstalled.
In hindsight, this was not particularly surprising because all instances share the same upgrade code. According to the documentation for the FindRelatedProducts action, that and the version are the only criteria for determining what products should be targeted for removal.
So the question is: How can I author this installation package such that when a new version is installed, only the targeted instance is upgraded, and other instances are left alone?
I suspect the answer may be that I should remove the 'major upgrade' feature altogether, but I've seen several examples of multiple-instance installs that use it, so I'm not sure. Also, it occurs to me that I'm probably not handling the product code correctly because it should be updated with the version number, but the instance transforms use a fixed product code. Somehow I don't think that is the problem here, but I thought I should mention it just in case.
Thanks much for any help or insight.