2015-10-07 2 views
0

У меня есть пакет с несколькими элементами 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"; 

)

Что еще могу ли я пропустить относительно связанного обнаружения пучка?

ответ

1

Двигатель Burn никогда не будет звонить OnDetectRelatedBundle для текущего исполняемого пакета, потому что это не связанный пакет - это комплект. Параметр fInstalledOnDetectBegin расскажет вам, установлен ли комплект или нет.

Исходный код: https://github.com/wixtoolset/wix3. У ведущего филиала всегда есть код для последней версии.

+0

благодарит! Я думал, что связанное сплетение уволилось, потому что я тестировал его несколько раз; вероятно, всякий раз, когда он работал, я перестраивался, чтобы получить небольшие изменения в DLL, чтобы быть в комплекте, что делает его родственным. –

Смежные вопросы