我正在构建一个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跳过==========
答案 0 :(得分:2)
好的,我终于设法重现了你的问题。改变
variable name: vm4heat
Variable value: c:\Work\Projects\ToWix\vmUpgraded\
要
c:\Work\Projects\ToWix\vmUpgraded
工作(注意缺少反斜杠)。我认为VS将\"
解析为"
,使用\
作为转义字符。
正如我在第一篇评论中所说的那样,你可以看到热量抛出一切参数:-D