Невозможно удалить связанные программы при удалении родительской программы - PullRequest
0 голосов
/ 06 июня 2018

Актуальная проблема: При первой установке продуктов мы видим 3 программы на панели управления, 1 мастер (A) и 2 цепочки (B, C).Допустим, теперь мы обновляем B до новой версии.Это обновление версии назначило новый код продукта для B. Но новый код продукта не обновляется в основной записи (A), что нарушает иерархию цепочек пакетов.Поскольку master (A) не имеет нового ProductCode в своей таблице IsChainedPackage, он не может удалить C & B при удалении A.

Я пытаюсь получить значение из реестра и назначить его одному из столбцов вТаблица «IsChainPackage» MSI.

Я обнаружил, что могу создавать настраиваемые действия и присваивать значение общедоступному свойству.Но я не могу найти, как использовать это свойство в столбце ProductCode таблицы IsChainPackage.Я ищу решение, где я могу обновить поле ProductCode в строке Media-> Releases-> Pckg1 / Pckg2, указав значение, которое присутствует в реестре.Возможно ли это?

В качестве альтернативы, могу ли я удалить другой продукт (скажем, B), используя ProductCode, когда начинается удаление продукта (скажем, A)?Я имею в виду, когда мы нажимаем удалить A, сначала я хочу удалить B, а затем A. Могу ли я сделать это с помощью некоторых пользовательских действий?Если да, какие настройки мне нужно сделать в этом настраиваемом действии?

1 Ответ

0 голосов
/ 12 июня 2018

Вы используете установщик Suite для установки всех 3 продуктов или InstallScript?

В любом случае, вы можете написать пользовательское действие для запуска деинсталлятора, используя msiexec.exe.У Stein Åsmul есть отличная ссылка для удаления в этом посте:

Stein Åsmul в глубине удаления Ссылка

...