Как добавить пакет в режиме Modify через Wix Boostrapper? - PullRequest
0 голосов
/ 10 марта 2020

У меня есть пакет wix с несколькими пакетами и пользовательский BA. Все пакеты имеют атрибут InstallCondition. Все пакеты по отдельности успешно установлены. Но если я установлю некоторые пакеты, а затем попытаюсь добавить другие в режиме изменения, они не будут установлены. InstallCondition оценивается как true, а Cache = "всегда". Журнал выглядит следующим образом (Package1 установлен, Package2, который я хочу добавить):

Обнаружен пакет: Package1.msi, состояние: присутствует, кэширован: завершен

Обнаружен пакет: Package2. msi, состояние: отсутствует, кэшировано: завершено

...

Установка строковой переменной 'Package1' в значение 'true'

Установка строковой переменной 'Package2' в значение ' true '

...

Условие' Package1 = "true" 'оценивается как true.

Условие 'Package2 = "true"' оценивается как true.

...

Запланированный пакет: Package1.msi, состояние: присутствует, запрошено по умолчанию: Present, ba запрошено: присутствует, выполнено: нет, откат: нет, кэш: нет, кэш: нет, зависимость: регистр

запланированный пакет: Package2.msi, состояние: отсутствует, запрошено по умолчанию: отсутствует, запрошено ba: отсутствует, execute: Нет, откат: Нет, кэш-память: Нет, uncache: Нет, зависимость: Нет

Также успешно выполняется удаление части пакетов в режиме Modify.

Ответы [ 2 ]

0 голосов
/ 18 марта 2020

Во время LaunchAction = "Modify" движок по умолчанию не устанавливает пакеты. Вы можете увидеть это по default requested: Absent части журнала. Если пользовательский BA хочет установить пакет во время Modify, он должен изменить запрошенное состояние во время Plan (используя параметр pRequestedState метода OnPlanPackageBegin). Обратите внимание, что изменение состояния по умолчанию может привести к нежелательному сценарию ios, например, к установке пакетов во время удаления пакета, поэтому проведите тщательное тестирование.

0 голосов
/ 12 марта 2020

Наконец-то решена проблема, изменив LaunchAction = "Modify" на LaunchAction = "Install". Это прекрасно работает, но я все еще не могу понять, как использовать LaunchAction = "Modify", почему я могу удалять пакеты, но не могу добавить.

...