You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins构建WiX项目时报candle.exe CNDL0103找不到Source类型文件问题

报错原因定位

你遇到的CNDL0103报错是WiX编译器candle.exe找不到指定的源文件导致的,最核心的诱因是Windows系统的32/64位路径重定向机制,结合你当前的Jenkins工作空间路径,可以确定问题根源如下:

  • 你当前Jenkins的工作空间放在了C:\windows\system32\路径下,而WiX Toolset v3.11的candle.exe是32位程序(安装在C:\Program Files (x86)目录下)
  • 64位Windows系统中,32位程序访问C:\Windows\System32路径时,会被系统自动重定向到C:\Windows\SysWOW64目录,你实际放在64位System32路径下的.wxs源文件,32位的candle.exe完全访问不到,自然会报找不到文件的错误。
  • 次要可能的诱因:Jenkins任务未正确拉取源码到工作空间、本地开启了「隐藏已知文件类型的扩展名」导致文件名实际是Product_PHP.wxs.txt而非你看到的.wxs后缀。

解决方案

最优方案(彻底避免路径坑)

修改Jenkins全局工作空间根目录,远离系统级路径:

  1. 打开Jenkins控制台,进入「Manage Jenkins → Configure System」
  2. 找到「Workspace Root Directory」配置项,修改为和系统目录无关的路径,例如C:\Jenkins\Workspace\${JOB_NAME}
  3. 重启Jenkins服务后重新执行构建即可。

临时验证方案

你可以在当前Jenkins任务的WiX构建步骤之前,新增一个「Execute Windows batch command」步骤,输入以下命令:

dir "C:\windows\system32\config\systemprofile\AppData\Local\Jenkins\.jenkins\workspace\Installer\WiXInstaller"

执行构建后查看日志输出的文件列表,就能确认candle.exe运行环境下该路径到底有没有对应的源文件。

备选方案

如果你不想修改全局Jenkins配置,可以直接将WiX源码存放在C盘根目录的独立文件夹(例如C:\InstallerSource),在Jenkins WiX插件中直接填写源文件的绝对路径即可。

内容的提问来源于stack exchange,提问作者Konstantin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 07:54:02