1

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

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

我尝试完成这些步骤,在此之前我有另一个退出代码 9009,但我无法绕过这个 319 错误。

在构建事件选项卡上,我有这个“预构建事件命令行”。我有这个代码:

"$(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\

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

在“预构建事件命令行”中,我可以看到:

宏:ProjectDir

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

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

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

变量名:WIX

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

更新 2

------ 构建开始:项目:VM.Wix,配置: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):错误 HEAT0319:“-out”或“-o”参数必须指定文件路径。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" 目录 "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 跳过 ==========

4

1 回答 1

3

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

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

工作 c:\Work\Projects\ToWix\vmUpgraded (注意缺少反斜杠)。我认为 VS 解析\"",使用\转义字符。顺便说一句,正如我在第一条评论中所说,您可以看到热量会将所有内容都抛出 -out 参数:-D

于 2016-09-22T12:44:01.157 回答