Wix错误代码319(-out参数)

时间:2016-09-22 09:50:51

标签: .net wix wix3.10

我正在构建一个Web应用程序安装程序(.Net)。我的Wix版本是3.10,我正在使用VS2013。

我确实看到过一些人之前也遇到过这个问题,但他们的答案都没有帮助我。

我尝试按照these步骤进行操作,我有另一个步骤,在此之前退出代码9009,但我无法绕过这个319错误。

在Build Events选项卡上,我有这个" Pre-Build Event命令行"。我有这个代码:

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

错误消息非常简单,看起来我错过了-o或-out的路径。我没有-o,所以它必须是-out。但我确实有一条路。我尝试了大量不同的路径,文件夹路径,文件路径,正斜杠,反斜杠,双反斜杠,带变量,没有变量,重写了路径因为我看到双引号看起来很奇怪。什么都没有帮助。我看到一些与反斜杠和引用相关的答案,逃避,我不认为我有这个问题。

请告知。

由于

更新

我在视频中使用sysdm.cpl来定义" dir"的变量。

它们看起来像这样:

变量名称: vm4heat

变量值:c:\ Work \ Projects \ ToWix \ vmUpgraded \

(这是解决方案的位置,其中有Web应用程序)

在"预构建事件命令行"我可以看到:

宏: ProjectDir

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

(这是解决方案中Wix项目的位置)

我在sysdm.cpl中找到的WIX变量

变量名称: WIX

变量值:C:\ Program Files(x86)\ WiX Toolset v3.10 \

更新2

------ Build build:项目:VM.Wix,配置:发布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):错误HEAT0319:' -out'或者' -o'参数必须指定文件路径。 C:\ Program Files(x86)\ MSBuild \ Microsoft \ WiX \ v3.x \ wix2010.targets(816,5):错误MSB3073:命令"" 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""退出代码319。 完成建设项目" VM.Wix.wixproj" - 失败。

==========构建:0成功或最新,1失败,0跳过==========

1 个答案:

答案 0 :(得分:2)

好的,我终于设法重现了你的问题。改变

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

c:\Work\Projects\ToWix\vmUpgraded 工作(注意缺少反斜杠)。我认为VS将\"解析为",使用\作为转义字符。 正如我在第一篇评论中所说的那样,你可以看到热量抛出一切参数:-D