2015-04-07 4 views
4

Мы пытаемся получить пользовательский загрузочный загрузчик .NET для выборочной установки функций в пакете MSI через наш установщик WiX.WiX .NET Bootstrapper - выбор функции

Зарегистрировавшись на мероприятие PlanMsiFeature, мы подумали, что мы сможем получить доступ к функциям нашего MSI и исключить некоторые функции на основе предустановленных условий. Событие, однако, никогда не появляется. Кто-нибудь смог успешно использовать это событие?

Большое спасибо.

ответ

7

Мы решили эту проблему. Не хватало нескольких ключевых элементов.

1) В комплекте, который содержит наше приложение, для пакета MSI требовался следующий атрибут.

EnableFeatureSelection="yes" 

2) В управляемом приложении мы загрузчик установка условия установки (состояние) отсутствующее для функции мы не хотим установить. Недостатком здесь было то, что все предметы, которые мы хотим установить, должны иметь локальный набор для их состояния как Неизвестный, заставляя все элементы быть установленными.

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; 
} 
Смежные вопросы