Comme le soulignent @RinoTom et @Christopher, la sélection lors de l'installation (tag Condition) est très différente de la sélection lors de la construction (?if meta-tag). Pour être sélectionnés lors de l'installation, les composants inclus doivent être dans le fichier .msi. L'avantage de cette approche est que vous pouvez définir les propriétés qui déterminent leurs conditions, non seulement au moment de la construction, mais aussi lors de l'installation via des boîtes de dialogue ou AppSearch.
Mais ce que vous demandez, c'est plusieurs constructions de packages, chacune adaptée à un ensemble spécifique de conditions, sélectionnées lors de la construction. Une alternative qui pourrait fonctionner pour vous est de définir chacun des composants en option comme un Fragment dans un fichier séparé. Ensuite, pour chaque configuration de package, compilez uniquement les fragments que vous souhaitez y inclure :
del /q *.wixobj
candle main_package.wxs
for %%f in (optional_1.wxs optional_5.wxs optional_27.wxs) do candle %%f
light *.wixobj -out tailored_package_A.msi
Puisque seuls les fragments que vous avez voulu inclure ont été compilés en .wixobj, ils apparaissent uniquement dans le package de sortie. Cela fonctionne particulièrement bien si vous avez des composants qui sont toujours présents, mais seulement quelques-uns qui sont optionnels.