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

Reply via email to