Могу ли я создать MSI с WiX, который обновляет приложение, установленное с помощью Burn Bootstrapper?

Скажем, у меня есть приложение, которое было установлено с помощью Setup.exe, созданного проектом WiX Bootstrapper. Теперь у меня есть новая версия приложения, до которой я хочу, чтобы пользователи обновились, но по разным причинам я хотел бы распространять это обновление как MSI, а не как .exe.

Когда я проверил это, я обнаружил, что у меня появилось 2 экземпляра приложения, отображаемых в «Установка и удаление программ», один - версии, установленной с помощью .exe, а другой - с помощью .msi.

Я отмечаю, что оба элемента Product в проекте Setup и Bundle в проекте Bootstrapper имеют разные атрибуты UpgradeCode. Я попытался создать MSI с тем же кодом обновления, что и тестируемый пакет, но это показало то же поведение, что и раньше.

Есть ли способ обновить установленный продукт Setup.exe с помощью MSI?


person Darran    schedule 11.09.2013    source источник
comment
Проблема в том, что комплект отличается от MSI. Они не зарегистрированы в установщике Windows и не обязательно должны отображаться в ARP. Есть ли конкретная причина, по которой вы не можете просто установить этот MSI в свой пакет?   -  person Christopher B. Adkins    schedule 18.02.2014
comment
Вы наконец решили это? Я застрял с той же проблемой: /   -  person nozzleman    schedule 19.03.2015


Ответы (1)


Создайте новый MSI с тем же кодом обновления, что и MSI, который вы установили с помощью Bootstrapper. Если код обновления MSI такой же, то он будет знать, что это связанные продукты и сделать это (либо удалить предыдущую версию, либо обновить и т. Д.) В зависимости от того, что вы упомянули в своем MSI.

person Isaiah4110    schedule 11.09.2013
comment
Это именно то, что я сделал, но безуспешно. Я считаю, что это потому, что код обновления, зарегистрированный в инфраструктуре установщика Windows, на самом деле является кодом элемента bootstrapper ‹Bundle›. - person Darran; 12.09.2013
comment
Из того, что вы написали выше, я отмечаю, что оба элемента Product в проекте Setup и Bundle в проекте Bootstrapper имеют разные атрибуты UpgradeCode. - person Isaiah4110; 13.09.2013
comment
Я понял, что вы обновили свой MSI так же, как и Bundle / bootstrapper. Я не это сказал. Я имел в виду сделать новый код обновления MSI точно таким же, как обновление MSI ВНУТРИ вашего пакета / загрузчика (а не кода обновления пакета / загрузчика). Вы поняли мою точку зрения? - person Isaiah4110; 13.09.2013
comment
@ Isaiah4110 - Это все равно не избавит от старого пакета. Он БУДЕТ обновлять MSI, это правильно, но старая запись из пакета все равно останется на месте. - person Christopher B. Adkins; 18.02.2014
comment
Проверьте этот ответ, напишите сценарий для удаления записи пакета из реестра: stackoverflow.com/questions/18109387/ - person Isaiah4110; 19.02.2014