我有一个运行良好的WiX安装程序,但是距开发工作已经过去了几个月……所以,我没有尝试构建该安装程序(在重新配置的计算机上),现在每次都无法构建。我试图简化所有内容以找出失败的原因,但我似乎仍然无法弄清原因。本质上,它似乎在预构建过程中失败了。我有一个很长的Pre-build Event命令,但是我已经将其简化为基本要素。这是我的命令:
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应用程序确实位于build命令指定的目录中。但是,我仍然收到一条错误消息,指出MSBuild失败并退出,并显示了代码1。如果我检查输出日志,则表明“文件名,目录名或卷标语法不正确”。但是,我可以说这个安装程序在几个月前可以正常运行,而构建事件没有发生任何变化……所以我真的不知道为什么它现在不起作用,除了我必须重新配置机器并重新安装Windows 10最近。我下载并安装了最新的WiX工具集,并假设这将是所有需要的东西。但是,此错误仍然存在。有任何想法吗?
这确实是愚蠢的,但我相信您需要\
在目录IIRC的末尾加上a 。我认为我曾经遇到过同样的问题。该错误不是特别有用。
call "$(WIX)bin\heat.exe" dir "$(SolutionDir)MyProj\bin\Release\" -out "$(ProjectDir)MyFiles.wxs"
(我想我记得是倒退的,您不必在目录中有尾随的\。对不起)
万一您无法启动预构建事件,也可以像这样调用heat(需要编辑wixproj文件)
<Target Name="BeforeBuild">
<Exec Command=""$(WIX)bin\heat.exe" dir "$(SolutionDir)MyProj\bin\Release" -out "$(ProjectDir)MyFiles.wxs""/>
</Target>
在我编写的某些安装程序中,这就是我所说的热度。如果这还是行不通的,我不知道为什么这对您不起作用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句