Условная установка с Wix

Действительно ли возможно иметь условную конфигурацию установки, назнатил wth ведомым устройством среда конфигурирования Visual Studio?

Например, выбирая конфигурацию ОТЛАДКИ или ВЫПУСКА, Wix выбирает различные исполняемые файлы в созданной установке.

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

Конечно, возможно включать каждый необходимый компонент и затем определить функции для выбора определенного компонента для установки, но я не хочу действительно перераспределять некоторые исполняемые файлы.

Разработайте различные проекты Wix, единственное решение?

9
задан Luca 10 June 2010 в 16:46
поделиться

2 ответа

Используйте препроцессор, например: для условного включения/исключения компонентов на основе конфигурации.

6
ответ дан 4 December 2019 в 08:32
поделиться

Ваши скрипты 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. Аналогично, в режиме отладки будет подхвачен отладочный бинарник. Этот подход не требует предварительной обработки - сценарий принимает решения, связанные с конфигурацией, во время сборки.

8
ответ дан 4 December 2019 в 08:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: