wix - 错误 CNDL0004:当来自命令行的 运行 时,文件元素包含意外属性 "src"

wix - error CNDL0004: The file element contains an unexpected attribute "src" when running from the command line

当我从 WIx 安装程序的命令行 运行 从版本 2.0 迁移到 4.0 后的以下命令时

E:\Code\PCPE\builder>ant -v -f Build.xml -Dlabel =.001 install

我收到以下错误:

error CNDL0004: The file element contains an unexpected attribute "src"

我在 EMR_COMMON.wxs 文件的第 4 行看到错误。

  1. 片段>
  2. DirectoryRef Id="INSTALLDIR">
  3. 组件 ID="component_COMMON" Guid="" DiskId="1">
  4. 文件 ID="file0_COMMON" 名称="apcrun.exe" src="E:\Code\apcrun.exe"/>

我认为“src”属性已被弃用,应该用其他属性替换它。

但是我不能直接替换 EMR_COMMON.wxs 文件中的 "src" 属性,因为它是从 "Build.xml".

生成的

那么我需要在 "Build.xml" 文件中更改哪些属性才能获得 "EMR_COMMON.wxs" 文件中 "src" 的适当属性?

我解决了这个问题。我编写了下面的 C# 代码以将“src”属性名称替换为“Source”属性。 为此,我首先获得了“文件”节点列表,获取文件节点的计数,然后使用 XmlNodeList fileNodeList = compElement.GetElementsByTagName("File"); XmlElement fileElement = (XmlElement)fileNodeList[i];字符串 srcString = fileElement.GetAttribute("src"); fileElement.SetAttribute("来源", srcString); fileElement.RemoveAttribute("源");