Использование парафина с TFS
У меня есть решение, в котором есть несколько проектов Wix, и я бы хотел использовать Paraffin для ведения списка включенных файлов.
Из того, что я понимаю, вы обычно указываете Paraffin на различные папки bin, чтобы собрать все файлы.
Когда TFS создает решение, оно переопределяет свойство Outbuir msbuild, что приводит к тому, что все выходные данные сборки направляются в общий каталог Binaries, а не в папку bin каждого проекта.
Так как же люди используют Парафин в этом сценарии?
1 ответ
Я не использовал парафин в течение многих лет. Последняя версия может делать то, что вам нужно, но позвольте мне дать вам несколько дополнительных идей, которые вы можете использовать с парафином или без него.
Одним из недостатков парафина, тепла и сала является то, что они собирают двоичные файлы, которые должны существовать, поэтому они должны находиться в соответствующих папках и т. Д. Альтернативой является сбор данных из самого файла .sln и файлов .proj, на которые он ссылается, - решение предположительно, полный список того, что двоичные файлы есть, а какие нет в пакете продукта. Вы можете иметь возможность автоматически генерировать фрагменты для каждого двоичного файла во время сборки, без необходимости поддерживать эти фрагменты в управлении исходным кодом и без необходимости фактически создавать двоичные файлы.
Посмотрите на интеграцию MSBuild в WiX 3.6+, особенно на цели сбора урожая. Если это не работает для вас, попробуйте это:
Подход, который мы применили к недавнему проекту, полностью обошел стороной. Мы написали рабочий процесс для сканирования ссылок .sln и его ссылок .proj и создания фрагмента WiX для каждого двоичного файла напрямую - все они являются просто документами XML. UUID версии 3 был сгенерирован на основе двоичного имени, целевой папки и версии сборки (спасибо Дереку Цицерону за эту идею), чтобы компоненты ComponentID были едины от сборки к сборке, но автоматически переходили при переходе на новую версию.
Некоторые двоичные файлы в решении (например, тестовые шаблоны) мы не хотели помещать в пакет установщика, поэтому мы добавили новое свойство MSBuild в файл .proj, чтобы пометить "устанавливаемый" (или нет). Вы можете добавить свойство для указания целевого каталога - в нашем случае все двоичные файлы должны были находиться в одной папке, поэтому нам это не нужно. Вы могли бы даже создать для этого собственную страницу свойств проекта Visual Studio, если вы хотите стать модным.
Одним из преимуществ этого было то, что разработчики приложений в команде могли просто добавить новый двоичный файл в решение или удалить существующий, и пакет установщика автоматически синхронизировал бы то, что было в пакете .msi при следующей сборке. Спас парня-установщика (твоя правда) много хлопот!
Вы можете объединить эти подходы: отсканировать решение, для которого он создает двоичные файлы, а затем использовать эту информацию для нацеливания парафина или тепла на соответствующие папки | файлы для сбора.