Действительно ли возможно иметь условную конфигурацию установки, назнатил wth ведомым устройством среда конфигурирования Visual Studio?
Например, выбирая конфигурацию ОТЛАДКИ или ВЫПУСКА, Wix выбирает различные исполняемые файлы в созданной установке.
В основном я создам различные установки из тех же проектов, но они отличаются компонентами. Некоторые компоненты являются сборкой из того же проекта, но созданный с различными опциями препроцессора.
Конечно, возможно включать каждый необходимый компонент и затем определить функции для выбора определенного компонента для установки, но я не хочу действительно перераспределять некоторые исполняемые файлы.
Разработайте различные проекты Wix, единственное решение?
Используйте препроцессор, например: для условного включения/исключения компонентов на основе конфигурации.
Ваши скрипты wix имеют доступ к параметрам сборки, таким как Configuration ('debug' или 'release'). Поэтому вы можете условно включить нужные бинарные файлы для текущей конфигурации, ссылаясь на $(var.Configuartion) в объявлениях компонентов:
<Component Id="myProject.dll"
DiskId="1"
Guid="*">
<File Id="myProject.dll"
Name="myProject.dll"
Source="..\myProject\bin\$(var.Configuration)\myProject.dll" />
</Component>
Когда вы запускаете сборку в режиме release, этот скрипт возьмет версию бинарного файла release. Аналогично, в режиме отладки будет подхвачен отладочный бинарник. Этот подход не требует предварительной обработки - сценарий принимает решения, связанные с конфигурацией, во время сборки.