wix - 错误CNDL0004:从命令行运行时,file元素包含意外的属性“src”

问题描述 投票:1回答:1

从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"

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

  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”属性已被弃用,应该用其他属性替换。

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

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

wix wix3.5 wix3 wix3.7 wix3.8
1个回答
0
投票

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

这个C#代码是在“SchemaChange”项目中编写的。一旦我构建了这个项目,我就在Build.xml中使用这个exec,如下所示:exec executable =“$ {workingdir} \ SchemaChange \ bin \ release \ SchemaChange.exe”failonerror =“true”>

© www.soinside.com 2019 - 2024. All rights reserved.