WiX .NET Bootstrapper - выбор функций
Мы пытаемся получить пользовательский загрузчик.NET для выборочной установки функций в пакете MSI с помощью нашего установщика WiX.
Зарегистрировавшись на мероприятии PlanMsiFeature, мы подумали, что сможем получить доступ к функциям нашего MSI и исключить некоторые функции в зависимости от заданных условий. Событие, однако, никогда не вызывается. Кому-нибудь удалось успешно использовать это событие?
Большое спасибо.
1 ответ
Мы решили эту проблему. Там не хватало пары ключевых предметов.
1) В Пакете, который содержит наше приложение, для пакета MSI требовался следующий атрибут.
EnableFeatureSelection="yes"
2) В управляемом приложении начальной загрузки мы установили условие (состояние) установки "Отсутствует" для функции, которую мы не хотим устанавливать. Недостатком здесь было то, что всем элементам, которые мы хотим установить, нужно было установить Local для их состояния, поскольку Unknown вызывает установку всех элементов.
void CustomBA_PlanMsiFeature(object sender, PlanMsiFeatureEventArgs e)
{
if (e.FeatureId == "FEATURE_TO_EXCLUDE")
e.State = m_installFeature ? FeatureState.Local : FeatureState.Absent;
else
e.State = FeatureState.Local;
}