У меня есть пакет с несколькими элементами ExePackage и MsiPackage. Это пакет perMachine (все пакеты Msi и Exe являются perMachine или ForcePerMachine) Я написал пользовательский BA с C#;WiX Burn Bootstrapper не вызывает OnDetectRelatedBundle
установка работает нормально, изменение, удаление, и Bundle правильно зарегистрирован в соответствии с журнала:
[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
Но если я снова запустить Setup.exe, от моего понимания, когда обнаружения() вызывается, OnDetectRelatedBundle должен срабатывать, чего нет. (afaik он должен регистрироваться, кроме того, я добавил свою собственную запись Engine.Log, которая не срабатывает)
при исследовании реестра (и обнюхивании в исходном коде) Я узнал, что ключ находится под \ HKEY_LOCAL_MACHINE \ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ Wow6432Node \ Microsoft ...
Поскольку я открыл тот же комплект, должен использоваться тот же UpgradeCode.
Вопросы:
Это нормально, что регистрация на Wownode, и делает обнаружение соответствующих пучков также смотреть на Wownode? (я не имею 3.10 Исходный код, потому что я не мог найти ветку, но с 3.8 Кодекса следующее сопзЬ относительно записи/чтения реестра казалось интригующим:
const LPCWSTR BURN_REGISTRATION_REGISTRY_UNINSTALL_KEY = L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall";
)
Что еще могу ли я пропустить относительно связанного обнаружения пучка?
благодарит! Я думал, что связанное сплетение уволилось, потому что я тестировал его несколько раз; вероятно, всякий раз, когда он работал, я перестраивался, чтобы получить небольшие изменения в DLL, чтобы быть в комплекте, что делает его родственным. –