【问题标题】:wix - error CNDL0004: The file element contains an unexpected attribute "src" when running from the command linewix - 错误 CNDL0004:从命令行运行时文件元素包含意外的属性“src”
【发布时间】:2018-09-04 17:17:01
【问题描述】:

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

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" Name="apcrun.exe" src="E:\Code\apcrun.exe"/>

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

但是这里我不能直接替换EMR_COMMON.wxs文件bcz中的"src"属性,它是从"Build.xml"生成的。

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

【问题讨论】:

  • 是的,src 已弃用,取而代之的是 Source for File Elements(朝向底部)。至于Build.xml,那是一个Ant构建脚本吗?您使用的是 Visual Studio、Eclipse 还是其他工具?
  • 您可以添加自己的答案并将其设置为已接受。所以谁有类似的问题可以找到它。

标签: wix wix3.5 wix3 wix3.7 wix3.8


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-27
    • 1970-01-01
    • 2018-10-15
    • 2010-10-25
    相关资源
    最近更新 更多