1

I am building a Web app installer (.Net). My Wix version is 3.10 and I am using VS2013.

I did see a few people also had this issue before, but none of their answers helped me out.

I tried to follow through these steps, I had an other one, exit code 9009 before this, but I cannot get around this 319 error.

On the Build Events tab, I have this "Pre-Build Event Command Line". There I have this code:

"$(WIX)bin\heat.exe" dir "$(vm4heat)" -cg vm4heat -gg -scom -sreg -sfrag -srd -out "$(ProjectDir)\FilesFragment.wxs"

The error message is pretty straightforward, it looks like I am missing a path for the -o or the -out. I don't have the -o, so it must be the -out. But I do have a path there. I tried a ton of different paths, folder path, file path, forward slash, backslash, double backslash, with variable, without variable, rewrote the path because I saw that the double quotes were looking weird. Nothing helped. I saw some answers related to backslash and quote, escaping, I don't think I have that issue.

Please advise.

Thanks

UPDATE

I Used sysdm.cpl just like in the video to define the variable for the "dir".

They look something like this:

variable name: vm4heat

Variable value: c:\Work\Projects\ToWix\vmUpgraded\

(this is the location of the solution, inside which there is the web app)

In the "Pre-Build Event Command Line" I can see:

Macro: ProjectDir

Value: c:\Work\Projects\ToWix\vmUpgraded\VM.Wix

(this is the location of the Wix project inside the solution)

The WIX variable I found in sysdm.cpl

variable name: WIX

Variable value: C:\Program Files (x86)\WiX Toolset v3.10\

UPDATE 2

------ Build started: Project: VM.Wix, Configuration: Release x86 ------ "c:\Program Files (x86)\WiX Toolset v3.10\bin\heat.exe" dir "c:\Work\Projects\ToWix\vmUpgraded\" -cg vm4heat -gg -scom -sreg -sfrag -srd -out "c:\Work\Projects\ToWix\vmUpgraded\VM.Wix\Frags.wxs" heat.exe(0,0): error HEAT0319: The '-out' or '-o' parameter must specify a file path. C:\Program Files (x86)\MSBuild\Microsoft\WiX\v3.x\wix2010.targets(816,5): error MSB3073: The command ""c:\Program Files (x86)\WiX Toolset v3.10\bin\heat.exe" dir "c:\Work\Projects\ToWix\vmUpgraded\" -cg vm4heat -gg -scom -sreg -sfrag -srd -out "c:\Work\Projects\ToWix\vmUpgraded\VM.Wix\Frags.wxs"" exited with code 319. Done building project "VM.Wix.wixproj" -- FAILED.

========== Build: 0 succeeded or up-to-date, 1 failed, 0 skipped ==========

Ash
  • 1,269
  • 3
  • 25
  • 49
  • Can you please post, how are all of your used variables defined? Heat error output is sometimes "incorrect" and throw all bad things on -out parameter :-) – Mischo5500 Sep 22 '16 at 11:03
  • @Mischo5500 I added more info – Ash Sep 22 '16 at 11:31
  • If you specify full path instead of variables, problem still persist? I have tried to provide full paths to my solution for my computer and heat is throwing no errors. – Mischo5500 Sep 22 '16 at 11:47
  • @Mischo5500 tried it. It does the same thing. Error 319. I am considering making the XML file by hand. There's "only" 1200 files in the web ... – Ash Sep 22 '16 at 11:54
  • Can you please post heat output to VS output window? There should be exact output as it is called, something like `------ Build started: Project: SetupProject1, Configuration: Debug x86 ------ "C:\Program Files (x86)\WiX Toolset v3.10\bin\heat.exe" dir ... Windows Installer XML Toolset Toolset Harvester version 3.10.3.3007 Copyright (c) .NET Foundation and contributors. All rights reserved.` – Mischo5500 Sep 22 '16 at 12:08
  • @Mischo5500 done. Would that error MSB3073 help? – Ash Sep 22 '16 at 12:21

1 Answers1

3

Ok I finally managed to reproduce your problem. Changing

variable name: vm4heat
Variable value: c:\Work\Projects\ToWix\vmUpgraded\

to c:\Work\Projects\ToWix\vmUpgraded worked (note missing backslash). I think that VS resolved \" as ", using \ as escape character. BTW as I told in first comment, you can see that heat throws everything on -out parameter :-D

Mischo5500
  • 796
  • 6
  • 14
  • OMG. Thank you so much you have no idea how much time I wasted on this. This is so weird though. Usability. Or error handling or call it what you want. The error message was not helping at all. Thanks again – Ash Sep 22 '16 at 12:48