2010-09-02 2 views
9

Я использую последнюю версию Wix 3.5, и я пытаюсь сгенерировать файл фрагмента с использованием heat.exe. Командная строка:Wix heat.exe с видом сбора проекта

"%WIX%\bin\heat.exe" project "MyProj.csproj" -pog Binaries -pog Content -suid -directoryid 
INSTALLLOCATION -ag -template fragment -out "Files.wxs" 

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

Должен ли я использовать уборочный тип dir?! Как удалить * .pdb или * .vshost.exe?

Я хочу использовать его с CI сервером (TeamCity)

редактировать: Я пытался -pog Satellites и не работает либо

+0

У меня такая же проблема. Результат проекта захватывается (все, что он производит), но ни одна из зависимостей. Я собираюсь прибегнуть к сбору урожая. –

ответ

0

В нашем CI сборки мы используем WiX с ручной WXS файлов ,
Вот содержимое файла сборки:

<Target Name="BuildSetup" DependsOnTargets="BuildSetupVersion"> 
    <Exec Command="$(WIX-ToolPath)\candle.exe -nologo -out $(MSBuildProjectDirectory)\bin\Debug\Designer.wxs UI_RUS.wxs Bin.wxs" WorkingDirectory = "$(MSBuildProjectDirectory)\bin\Debug"/> 
    <Exec Command="$(WIX-ToolPath)\light.exe -wx -out Setup_$(Major).$(Minor).$(Build).$(Revision).msi Designer.wixobj UI_RUS.wixobj Bin.wixobj" WorkingDirectory = "$(MSBuildProjectDirectory)\bin\Debug"/> 
    <Message Text="##teamcity[publishArtifacts '$(MSBuildProjectDirectory)\bin\Debug\Setup_$(Major).$(Minor).$(Build).$(Revision).msi']"/>--> 
</Target> 

Designer.wxs - содержит программу конкретных информации MSI (UpgradeCode, MSI версии, и пакет информации).
UI_culture (RUS в этом примере) .wxs - содержит пользовательский локализованный пользовательский интерфейс WiX.
Bin.wxs - содержит все необходимые файлы (вы можете автоматизировать его с помощью генерации wxi и с использованием WiX), но мы просто пишем этот файл вручную.

+0

Привет, это интересно, но не отвечает на вопрос: почему heat.exe не создает записи для зависимых сборок с уборочной сборкой проекта –

+0

@Catalin DICU. Да, я знаю. Но я ответил таким образом только из-за неудачи с одной задачей. После недели борьбы с жарой мы решили написать несколько файлов wxs вручную, а некоторые - через генерацию wxi-файла с msbuild. –

+0

Я закончил с помощью утилит каталогов, но он тоже ставит .pdb-s. Не большое дело, я не пытался отфильтровывать их с помощью xslt; не знаю, будет ли это работать –

1

Я знаю, что это старый вопрос, но этот поток может содержать некоторые идеи для возможных решений: How to add a whole directory or project output to WiX package

Одним из инструментов, упомянутых, Парафин 3,1, имеет различные параметры командной строки, которые должны позволяют исключить файлы, которые не имеют отношения к делу. http://www.wintellect.com/CS/blogs/jrobbins/archive/2009/06/28/paraffin3-1-new-and-improved.aspx

8

К сожалению, это известная проблема с WiX:

Heat doesn't harvest referenced assemblies

Из комментариев ошибки, это выглядит как поддержка будет добавлена ​​в WiX 4.0.

+0

Думаю, я бы предпочел, чтобы они были исправлены, прежде чем начать работать. Будем надеяться, что v4 имеет более короткую беременность, чем v3.5/3.6 ... –

Смежные вопросы