Как исправить ошибку HEAT5301 с WiX 3.5.1811.0 - PullRequest
2 голосов
/ 06 июля 2010

Мой проект, который раньше работал нормально с WiX 3.0, теперь терпит неудачу с

heat.exe: ошибка HEAT5301: Неверная группа вывода проекта: Binaries3bSources3bSatellites% 3bDocuments.

Я нашел эту ProjectOutputGroup в файле wix.targets, но она выглядит так:

<CreateItem 
  Include="@(_MSBuildProjectReferenceExistent)" 
  Condition=" '%(_MSBuildProjectReferenceExistent.DoNotHarvest)' == '' " 
  AdditionalMetadata="ProjectOutputGroups=Binaries%3BSymbols%3BSources%3BContent%3BSatellites%3BDocuments;GenerateType=payloadgroup;HeatOutput=$(IntermediateOutputPath)_%(_MSBuildProjectReferenceExistent.Filename).wxs">
  <!-- ... -->
</CreateItem>

Похоже, что % отбрасывается для первых 2 значений, но все еще присутствует для последних.

Ответы [ 7 ]

3 голосов
/ 03 января 2013

Я запускал жару из командной строки. Так что вещи, упомянутые выше, мне совсем не помогли. Изначально моя конфигурация выглядела так:

heat.exe project "project.csproj" -cg GroupName -gg –out "C:\OutPutLocation.wxs"

Это привело к следующей ошибке: heat.exe: ошибка HEAT5302: не указана группа выходных данных проекта.

Я изменил его, добавив в него переключатели -pog , также добавил переключатели -configuration и -platform .

heat.exe project "project.csproj" -cg Portals.Vendor -gg -pog Binaries -pog Content –configuration "release" -platform "AnyCPU" –out "C:\OutPutLocation.wxs"

Кстати: я использую версию WIX 3.7. для VS 2010 .NET 4.0 project.

На всякий случай необходим справочник по командам переключения для 3.x :

http://wix.sourceforge.net/manual-wix3/heat.htm

2 голосов
/ 16 ноября 2011

Установка версии инструментов на 4.0 работала у меня:

Изменение:

<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

Кому:

<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
2 голосов
/ 12 января 2011

Повторное добавление всех ссылок в затронутых проектах WiX решает проблему, и для меня тоже. Помимо прочего, собственность

<DoNotHarvest>True</DoNotHarvest> 

добавляется к каждой ссылке, и, очевидно, это решение.

2 голосов
/ 31 августа 2010

Мы получили ту же ошибку в одном из наших проектов WiX (в рамках решения Visual Studio 2008), который был обновлен с WiX 3.0 до WiX 3.5.x.Также проблема возникла только на сервере сборки TFS 2010.Сборка рабочего стола с Visual Studio была в порядке.

Наш проект установки WiX находится в одном решении с кучей библиотек классов C # - это в основном установщик библиотеки.В проекте WiX есть ссылка на проект для каждой библиотеки C #, и мы используем синтаксис «$ (var.MyLibrary1.TargetDir) \ MyLibrary.dll» для ссылки на файлы в наших скриптах WiX.

DoNotHarvest не сделалисправьте проблему для нас.

Мы обошли проблему, удалив, а затем повторно добавив все ссылки на библиотеки C # из проекта установки WiX.

1 голос
/ 26 апреля 2011

Повторное добавление всех ссылок не решило проблему автоматически, но добавление элемента DoNotHarvest вручную к каждой из ссылок проекта сделало.

1 голос
/ 30 августа 2010

Это не сработало для меня, вместо этого мне пришлось отредактировать файл wix.targets, чтобы удалить лишние каталоги для Harvest ... К счастью, в настоящее время я не использую HEAT.После того, как я внес это изменение, я смог снова выполнить сборку на нашем сервере сборки.

Интересно, что это не повлияло на сборку из Visual Studio на наших настольных компьютерах.

0 голосов
/ 11 июля 2010

Сначала попробуйте обновить до последней сборки.WiX v3.5 находится в стадии разработки, поэтому проблема может была решена.Если нет, убедитесь, что в данной проблеме открыта ошибка, чтобы сообщество знало о проблеме.Наконец, вы можете попробовать отладить HeatTask, чтобы увидеть, где он работает неправильно.

...