Как включить удаление для пакета Wix и все же скрыть его от программ и функций?

Я не хочу отображать свой пакет в программах и функциях. Но при удалении его следует удалить вместе с MSI. Чтобы скрыть пакет, я могу установить для свойства disableModify значение yes. Это скроет связку. Но это отключит функцию удаления пакета. Это не то, что я хочу. Потому что, как я могу скрыть пакет от программ и компонентов и все еще удалить его во время удаления? Пожалуйста посоветуй.

2 ответа

С точки зрения пакета нет "приложения", только 0 или более пакетов.

С точки зрения установщика пакета (например, .msi) пакет не существует. Он мог быть установлен / указан 0 или более комплектами и / или установлен вручную или какой-либо другой системой.

Деинсталляция пакета "ломает" пакет. Он может быть восстановлен или удален с той же самой версией пакета, но не может быть восстановлен путем установки более низкого версии пакета.

Самый простой подход состоит в том, чтобы скрыть пакеты для вашего приложения от Программ и компонентов и позволить пользователям рассматривать пакет как "приложение". (Любые пакеты, которые ваш пакет рассматривает как постоянные, обычно не должны быть скрыты.)

Visible="yes" покажет вам установленные пакеты отдельно.

<MsiPackage Id="Dependency1" SourceFile="your.msi" Cache="no" Visible="yes"  DisplayInternalUI="yes" EnableFeatureSelection="yes" />

Смотрите этот ответ об обработке MSI и MSP в пакетах

Это звучит как поведение, которое вы после.

Обратите внимание, что этот ответ для WiX 3.9 или более поздней

Другие вопросы по тегам