I have been researching 'cool bobs', and while I have come to the conclusion that this post is not directly related to the use of 'bundle of bundles', I just had to use that acronym.
In the course of the above research I added handlers for all of the DetectXxx and PlanXxx events to my mba. In each handler I log all of the EventArgs. My bundle includes MsiPackages for a multiplatform-multicultural project. So in this case there are 14 MSI packages from the same project with the same UpgradeCode, and version (for a particular build of the bundle), but each has a different ProductCode as a result of the Wix batch build process. There are seven packages that are x64 and seven that are x86. The MsiPackage/@InstallCondition is defined to assure that the correct culture and platform is installed for the native OS, i.e x86 is never installed on x64 OS. Only one package can be installed, hence the common UpgradeCode. The DetectRelatedMsiPackage log entries (when run on a x64 target system) are: [0A68:008C][2015-03-05T09:50:58]i103: Detected related package: {F703A7CD-F1D1-4697-A461-849B850E6953}, scope: PerMachine, version: 9.1.168.0, language: 0 operation: MajorUpgrade [0A68:008C][2015-03-05T09:50:58]i000: DetectRelatedMsiPackage: e.Operation: MajorUpgrade, e.PackageId: msi_x86_de_DE, e.PerMachine: True, e.ProductCode: {F703A7CD-F1D1-4697-A461-849B850E6953}, e.Result: 9.1.168.0, e.Version: 9.1.168.0 [0A68:008C][2015-03-05T09:50:58]i103: Detected related package: {F703A7CD-F1D1-4697-A461-849B850E6953}, scope: PerMachine, version: 9.1.168.0, language: 0 operation: MajorUpgrade [0A68:008C][2015-03-05T09:50:58]i000: DetectRelatedMsiPackage: e.Operation: MajorUpgrade, e.PackageId: msi_x86_en_US, e.PerMachine: True, e.ProductCode: {F703A7CD-F1D1-4697-A461-849B850E6953}, e.Result: 9.1.168.0, e.Version: 9.1.168.0 There is a similar DetectRelatedMsiPackage for each of the _x86 cultures. In each case the e.ProductCode is the correct code for the msi_x64_en_US package, which is the only package that the Plan shows has been, and for Repair, will be installed. The source (docs) has these comments: /// The identity of the package detecting. /// The identity of the related package detected. /// Whether the detected package is per machine. /// The version of the related package detected. /// The operation that will be taken on the detected package. So I am left wondering: 1) Why is the version string returned in e.Result (I checked my mba code for typos)? 2) Why is the ProductCode the package the (in this case x64_en_US) package that is installed? Am I just confused by the use of 'related' in the source comment? 3) ("related" to #2) Are the not listed x64 packages 'related' to the x64_en-US package installed? (I assume that they are not listed because in most cases it would be too much noise.) I am not sure of the purpose of DetectRelatedMsiPackage. (I also never understood the concept of ForwardCompatible packages. I also never could get DetectMsiFeature to fire, which is what started this journey). I say that because I am not sure how to ask the above questions, and appreciate any comments that might help me to understand Burn. Thanks Phill -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/DetectRelatedMsiPackage-confused-about-args-tp7599478.html Sent from the wix-users mailing list archive at Nabble.com. ------------------------------------------------------------------------------ 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