如何从 Wix 中的新命名空间添加属性和元素并被 Wix 忽略?
我想在 Wix wxs 文件中添加一个不相关的属性并希望 Wix 忽略它。
目前,它在寻找扩展名时会抛出以下错误。
Component 元素包含未处理的扩展属性“myns:myattr”。请确保“http://tempuri.org/myschema.xsd”中属性的扩展名命名空间已提供。
Rob、Bob 或 wix 团队中的任何人都在听!!:)
I want to add a unrelated attribute in the Wix wxs file and want Wix to ignore it.
It currently throws up following error as it goes looking for the extension.
The Component element contains an unhandled extension attribute 'myns:myattr'. Please ensure that the extension for attributes in the 'http://tempuri.org/myschema.xsd' namespace has been provided.
Rob, Bob or anybody on wix team listening!!:)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
编写一个wix扩展来处理该XML命名空间中的元素。以下示例扩展将导致命名空间
http://www.example.com
中的任何元素被忽略:将以下代码保存在
mywixext.cs
中:现在编译它到
mywixext.dll
中,如下所示:如果您现在使用选项
-ext mywixext.dll
编译 wix 源代码(或在 votive 中执行等效操作),则 < code>http://www.example.com 命名空间将被忽略。编辑:当我说任何元素都会被忽略时,我是不精确的。 WIX XML 架构不允许您直接在
WIX
元素下添加自己的子元素。大多数其他元素都允许这样做。在c:\program files\windows installer xml v3\doc\wix.xsd 中查找文本
来查找扩展点。Write a wix extension which handles elements in that XML namespace. The following example extension will cause any elements in the namespace
http://www.example.com
to be ignored:Save the following code in
mywixext.cs
:Now compile it into
mywixext.dll
like this:If you now compile your wix sources with the option
-ext mywixext.dll
(or do the equivalent in votive) then all elements in thehttp://www.example.com
namespace will be ignored.edit: I was imprecise when I said that any element would be ignored. The WIX XML schema does not allow you to add your own child elements directly under the
WIX
element. Most other elements allow it. Look for the text<xs:any namespace="##other" processContents="lax">
inc:\program files\windows installer xml v3\doc\wix.xsd
to find the extensibility points.