I have a Bundle with several ExePackage and MsiPackage Elements. It is a perMachine package (all the Msi and Exe Packages are perMachine or ForcePerMachine) I wrote a custom BA with C#;
installing it works fine,modifying, uninstalling, and the Bundle registered correctly as per log:
[06F8:0F3C][2015-10-07T11:12:32]i372: Session end, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{eb3fd6f6-0cb2-4999-84e9-7d71f5ab1551}, resume: ARP, restart: None, disable resume: No
[06F8:0F3C][2015-10-07T11:12:32]i371: Updating session, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{eb3fd6f6-0cb2-4999-84e9-7d71f5ab1551}, resume: ARP, restart initiated: No, disable resume: No
But if I start the Setup.exe again, from my understanding, when detect() is called, OnDetectRelatedBundle should fire - which it doesn't. (afaik it should log, furthermore I added my own Engine.Log entry which does not fire)
upon investigation of the registry (and sniffing around in the source code) I found out that the key is under \HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft...
Because I opened the same bundle, the same UpgradeCode should be used.
Questions:
Is it ok that the registration is on the Wownode, and does the detection of the related bundles also look upon the Wownode? (I don't have 3.10 Source Code because I couldn't find the branch, but from the 3.8 Code the following const regarding writing/reading the registry seemed intriguing:
const LPCWSTR BURN_REGISTRATION_REGISTRY_UNINSTALL_KEY = L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall";
)
What else could I have missed regarding the related bundle detection?