Команда Wix heat завершена с кодом 319 (параметр -out должен указывать путь к файлу)

Я создаю установщик для своего веб-приложения (.NET), используя Wix v3.7 и Visual Studio 2012.

Для сбора файлов моего веб-проекта я использую heat, а мой .wixproj выглядит так:

<Target Name="BeforeBuild">
    <Exec Command=' "$(WiX)bin\heat.exe" project "..\Web \" -gg -g1 -cg PACKAGEFILES sreg -dr DEPLOYFOLDER -out "$(ProjectDir)Frags.wxs" '/>
    <ItemGroup>
      <Compile Include='Frags.wxs' />
    </ItemGroup>
  </Target>

При компиляции возникают следующие ошибки:

  • Параметр -out или -o должен указывать путь к файлу. Файл: heat.exe
  • Команда "" C: \ Program Files (x86) \ WiX Toolset v3.7 \ bin \ heat.exe "project" .. \ Web \ "-gg -g1 -cg PACKAGEFILES sreg -dr DEPLOYFOLDER -out" C: \ Пользователи (...) \ Server \ Wix \ Frags.wxs "" завершились с кодом 319. Файл: C: \ Users (...) \ Server \ Wix \ Wix.wixproj

(...) добавлены мной из соображений конфиденциальности. Пути к файлам не превышают лимит.

Я пытался изменить кавычки, другие параметры и т. Д., Но ошибка не исчезла.


person joseph    schedule 06.08.2013    source источник
comment
Я почти уверен, что когда вы собираете файл проекта, вы должны указать фактический файл, а не путь к каталогу.   -  person Netfangled    schedule 06.08.2013
comment
Это правильно, и все заработало, напишите, пожалуйста, это как ответ, чтобы я мог отметить его как правильный.   -  person joseph    schedule 08.08.2013


Ответы (1)


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

"$(WiX)bin\heat.exe" project "..\Web\MyProject.csproj" -gg -g1 
-cg PACKAGEFILES -sreg -dr DEPLOYFOLDER -out "$(ProjectDir)Frags.wxs"

Имейте в виду, что heat не поддерживает сбор ссылочных сборок в 3.7. Согласно этой ошибке, она будет добавлена ​​в 4.0.

person Netfangled    schedule 08.08.2013