【发布时间】:2021-08-15 14:34:28
【问题描述】:
我有一个包含 4 个共享包含文件的 wix 安装程序项目的解决方案。在我的开发机器上一切正常。检查所有内容并开始构建。在构建机器上运行时会抛出以下错误:
1>D:\agent\_work\6\s\Path\to\WixPorject\Product.wxs(3,0): error CNDL0104: Not a valid source file; detail: '.', hexadecimal value 0x00, is an invalid character. Line 2, position 1.
1>Done building project "whatever.wixProj" -- FAILED.
我在构建机器上打开了 VS 2019 中的解决方案,并没有发现任何问题。我的 license.rtf 末尾有一个 NULL 字符,但即使在删除它之后,我仍然通过 VS 构建相同的错误。我发现,如果我在 product.wxs 中注释掉 include 语句,替换所有 $(var.Variables) 它构建得很好。两个系统都使用 Wix 工具集 v3.11.2.4516。
config.wxi
<?xml version="1.0" encoding="UTF-8"?>
<Include>
<?define SourceDir = "D:\agent\_work\6\b" ?>
</Include>
product.wxs
<?xml version='1.0' encoding='UTF-8'?>
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
<?include "..\config.wxi" ?>
在我的开发机器上构建没有问题。
【问题讨论】:
-
也许在构建计算机上测试该路径:按住 Windows 键 => 点击 R => 粘贴:“D:\agent_work\6\b”按 Enter。
-
目录打开正常。 D:是构建 VM 上的本地驱动器。事实上,由于某种原因,当构建失败并出现错误并且我登录构建机器时,打开解决方案并尝试构建其中一个 msi,它会失败并出现同样的错误。然后 - 如果我打开 config.wxi 文件并说更改路径以使用单引号: build 并且它通过了!真的很郁闷