wix - 错误CNDL0004:从命令行运行时,file元素包含意外的属性“src”
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wix - 错误CNDL0004:从命令行运行时,file元素包含意外的属性“src”相关的知识,希望对你有一定的参考价值。
从2.0版迁移到4.0后,从命令行为WIx安装程序运行以下命令
E:CodePCPEuilder>ant -v -f Build.xml -Dlabel =.001 install
我收到以下错误:
error CNDL0004: The file element contains an unexpected attribute "src"
我在第4行的EMR_COMMON.wxs文件中看到错误。
- 片段>
- DirectoryRef Id =“INSTALLDIR”>
- 组件ID =“component_COMMON”Guid =“”DiskId =“1”>
- 文件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"
的适当属性?
我解决了这个问题。我编写了下面的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”>
以上是关于wix - 错误CNDL0004:从命令行运行时,file元素包含意外的属性“src”的主要内容,如果未能解决你的问题,请参考以下文章
错误 CNDL0027:File/@Name 属性的值不是有效的 8.3 兼容名称
WiX Bootstrapper:如何从命令行设置刻录变量?
即使使用 --no-build 标志运行 dotnet test 时如何避免 Wix 构建错误?
将Wix 3.0迁移到Wix 4.0时出现错误:WXCP0006:此节点前的空格不正确(WhitespacePrecedingNodeWrong)