Wix 错误代码 319(-out 参数)
Wix Error code 319 (-out parameter)
我正在构建 Web 应用程序安装程序 (.Net)。我的 Wix 版本是 3.10,我使用的是 VS2013。
我之前确实看到一些人也遇到过这个问题,但是 none 他们的回答帮助了我。
我尝试完成 these 个步骤,在此之前我有另一个,退出代码 9009,但我无法绕过这个 319 错误。
在构建事件选项卡上,我有这个 "Pre-Build Event Command Line"。我有这个代码:
"$(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 app)
在"Pre-Build Event Command Line"中我可以看到:
宏:ProjectDir
值:c:\Work\Projects\ToWix\vmUpgraded\VM.Wix
(这是 Wix 项目在解决方案中的位置)
我在sysdm.cpl
中找到的WIX变量
变量名:WIX
变量值:C:\Program Files (x86)\WiX Toolset v3.10\
更新 2
------ 开始构建:项目:VM.Wix,配置:发布 x86 ------
"c:\Program Files (x86)\WiX Toolset v3.10\bin\heat.exe" 目录 "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 跳过 ==========
好的,我终于重现了你的问题。改变
variable name: vm4heat
Variable value: c:\Work\Projects\ToWix\vmUpgraded\
到
c:\Work\Projects\ToWix\vmUpgraded
工作(注意缺少反斜杠)。我认为 VS 使用 \
作为转义字符将 \"
解析为 "
。
顺便说一句,正如我在第一条评论中所说,你可以看到热量将所有东西都扔到 -out 参数上:-D
我正在构建 Web 应用程序安装程序 (.Net)。我的 Wix 版本是 3.10,我使用的是 VS2013。
我之前确实看到一些人也遇到过这个问题,但是 none 他们的回答帮助了我。
我尝试完成 these 个步骤,在此之前我有另一个,退出代码 9009,但我无法绕过这个 319 错误。
在构建事件选项卡上,我有这个 "Pre-Build Event Command Line"。我有这个代码:
"$(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 app)
在"Pre-Build Event Command Line"中我可以看到:
宏:ProjectDir
值:c:\Work\Projects\ToWix\vmUpgraded\VM.Wix
(这是 Wix 项目在解决方案中的位置)
我在sysdm.cpl
中找到的WIX变量变量名:WIX
变量值:C:\Program Files (x86)\WiX Toolset v3.10\
更新 2
------ 开始构建:项目:VM.Wix,配置:发布 x86 ------ "c:\Program Files (x86)\WiX Toolset v3.10\bin\heat.exe" 目录 "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 跳过 ==========
好的,我终于重现了你的问题。改变
variable name: vm4heat
Variable value: c:\Work\Projects\ToWix\vmUpgraded\
到
c:\Work\Projects\ToWix\vmUpgraded
工作(注意缺少反斜杠)。我认为 VS 使用 \
作为转义字符将 \"
解析为 "
。
顺便说一句,正如我在第一条评论中所说,你可以看到热量将所有东西都扔到 -out 参数上:-D