An early sequencing of the upgrade (such as after InstallIntialize) is more or less the same as uninstalling the old product then installing the new one. Guids don't really matter much.
After InstallExecute isn't like that. As an example: say every file has a guid and a version or hash. The guid is reference counted up at install time. Installing the new product after InstallExecute means installing new files over old files following file replacement rules (versions, hashes etc) and incrementing the ref count for the guids being installed (which matters only for files in the same location). Then uninstall the old product, counting down its guid ref counts. If all the files are the same and have matching guids then they all ref count down to one and the files stay behind. If you don't follow component rules then you install different guids even though they have the same file name. When the old product is uninstalled those guids count down to zero and the files are removed even though you just installed them. Sometimes it helps to think of it all as installing ref counted guids, not files, registry entries etc. This may be what you're seeing. So in this case there is no "newer installation", there are only file replacement rules, and guids that are no longer in use being deleted, so the same guids must be used for the same files for this type of upgrade to be successful. The same is true of patches, minor upgrades. --------------- Phil Wilson On Thu, Mar 26, 2015 at 7:47 AM, Hoover, Jacob <jacob.hoo...@greenheck.com> wrote: > Sounds like you broke component rules somewhere... Are your component ID's > identical for the same files across MSI's? Are you using version info on > the files in question, or is it falling back to timestamp and hash checking? > > -----Original Message----- > From: Tobias Markmann [mailto:tmarkm...@googlemail.com] > Sent: Thursday, March 26, 2015 7:08 AM > To: General discussion about the WiX toolset. > Subject: Re: [WiX-users] Keep Desktop Shortcuts and Pinned Task Bar Icons > with Upgrades > > Hi Rob, > > On Thu, Mar 26, 2015 at 12:27 AM, Rob Mensching <r...@firegiant.com> wrote: > >> Schedule your upgrade late and carefully adhere to the Component Rules. >> > > Thanks for the hint. I googled a bit and read up things on MajorUpgrade > scheduling [0] and Component Rules, including [1] and [2]. > > So I've tried scheduling the upgrade later. Specifically I've added > Schedule="afterInstallExecute" to the MajorUpgrade, see [4]. > > Now it seems to first overwrite the existing installation and then runs the > uninstall process. The shortcut and pinned task bar icons are retained. > However the uninstall progress removes the overwritten files so that the > shortcut points to a broken installation. > > Why does it remove the now newer version installation files during uninstall? > I expected MSI to know that the files in the program folder are of a newer > installation when it starts the uninstall process and only deletes files > which haven't been replaced during installation. > > Thanks in advance for any pointers and hints. > > Cheers, > Tobias > > [0] > http://wixtoolset.org/documentation/manual/v3/howtos/updates/major_upgrade.html > [1] > http://robmensching.com/blog/posts/2003/10/4/windows-installer-components-introduction/ > [2] http://robmensching.com/blog/posts/2003/10/18/component-rules-101/ > [3] > https://dl.dropboxusercontent.com/u/14672346/tmp/swift/swift_wix_install_msi_log.txt > [4] > https://github.com/swift/swift/blob/master/Swift/Packaging/WiX/Swift.wxs#L13 > ------------------------------------------------------------------------------ > Dive into the World of Parallel Programming The Go Parallel Website, > sponsored by Intel and developed in partnership with Slashdot Media, is your > hub for all things parallel software development, from weekly thought > leadership blogs to news, videos, case studies, tutorials and more. Take a > look and join the conversation now. http://goparallel.sourceforge.net/ > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > ------------------------------------------------------------------------------ > Dive into the World of Parallel Programming The Go Parallel Website, sponsored > by Intel and developed in partnership with Slashdot Media, is your hub for all > things parallel software development, from weekly thought leadership blogs to > news, videos, case studies, tutorials and more. Take a look and join the > conversation now. http://goparallel.sourceforge.net/ > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Dive into the World of Parallel Programming The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users