gpt4 book ai didi

WiX Heat 预构建错误

转载 作者:行者123 更新时间:2023-12-04 00:42:27 25 4
gpt4 key购买 nike

我有一个工作正常的 WiX 安装程序,但我已经有几个月没有使用它了...所以,我没有尝试构建安装程序(在重新配置的机器上),现在它无法构建每个时间。我试图简化一切以找出失败的地方,但我似乎仍然无法弄清楚原因。从本质上讲,它看起来像是在预构建过程中失败了。我有一个很长的预构建事件命令,但我已将其简化为基本要素。这是我的命令:

call “$(WIX)bin\heat.exe” dir "$(SolutionDir)MyProj\bin\Release" -out “$(ProjectDir)MyFiles.wxs”

我得到的错误是:

call “C:\Program Files (x86)\WiX Toolset v3.10\bin\heat.exe” dir "C:\Users\MyName\Documents\GitHub\MyProj\bin\Release" -out “C:\Users\MyName\Documents\GitHub\MyProj\Installer\MyFiles.wxs”
The filename, directory name, or volume label syntax is incorrect.

代码似乎以代码 1 退出,这似乎表明它无法找到文件名或路径...但是,我已经检查了输出日志中打印的路径并且 heat.exe 应用程序确实存在于 C:\Program Files (x86) 目录下。它试图收集的目录 (dir) 已正确定义,输出位置也是如此。那么,有人知道为什么会失败吗?

更新

非常奇怪的是,即使我简化命令以尝试简单地调用 heat.exe 应用程序(没有其他参数),预构建事件命令似乎也会失败。我尝试将预构建事件更改为以下内容:

call “C:\Program Files (x86)\WiX Toolset v3.10\bin\heat.exe”

从附图中可以看出,heat.exe 应用程序确实位于构建命令中指定的目录中。然而,我仍然收到一条错误消息,指出 MSBuild 失败并以代码 1 退出。如果我检查输出日志,它会显示“文件名、目录名或卷标语法不正确”。但是,我可以说这个安装程序几个月前工作正常,构建事件没有任何变化......所以我真的不知道为什么它现在不能工作,除了我不得不重新配置我的机器并重新安装最近Windows 10。我下载并安装了最新的 WiX 工具集,并假设这就是所需的一切。但是,此错误仍然存​​在。有什么想法吗?

enter image description here

最佳答案

这真的很愚蠢,但我相信您需要在目录 IIRC 的末尾放置一个 \。我想我曾经遇到过同样的问题。该错误不是特别有用。

call "$(WIX)bin\heat.exe" dir "$(SolutionDir)MyProj\bin\Release\" -out "$(ProjectDir)MyFiles.wxs"

(我想我是倒着记的,你不需要在目录中有尾随\..抱歉)


以防万一您无法使预构建事件正常工作,您也可以像这样调用 heat(需要编辑 wixproj 文件)

<Target Name="BeforeBuild">
<Exec Command="&quot;$(WIX)bin\heat.exe&quot; dir &quot;$(SolutionDir)MyProj\bin\Release&quot; -out &quot;$(ProjectDir)MyFiles.wxs&quot;"/>
</Target>

在我编写的一些安装程序中,我就是这样称呼热量的。如果这也不起作用,我不知道为什么这对您不起作用。

关于WiX Heat 预构建错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38382541/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com