我从WiX Toolset 3.10迁移到4.0-pre。更新namespaces没问题,但我的NAnt构建日志中仍然出现了一些错误。
我有Installer.wxs文件:
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"
xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util">
<Product ...>
<DirectoryRef Id="FolderCommon">
...
<Component Id="Registration_Component_12" Guid="..." KeyPath="yes">
<?include VS2012Package.wxi.bak?>
...
</Component>
...
</DirectoryRef>
...
</Product>
通过RegPkg.exe生成VS2012Package.wxi.bak文件:
<Include>
<Registry Root="HKLM" Key="SOFTWARE\Microsoft\VisualStudio\11.0\InstalledProducts\VsPackage">
<Registry Name="Package" Value="..." Type="string" />
<Registry Name="UseInterface" Value="1" Type="integer" />
</Registry>
...
我的构建失败了,出现了这样的错误:
[exec] ...\Installer\VS2012Package.wxi.bak(3) : error CNDL0200 : The Component element contains an unhandled extension element 'Registry'. Please ensure that the extension for elements in the '' namespace has been provided.
我尝试添加名称空间&#39; http://wixtoolset.org/schemas/v4/wxs&#39; to&#34;&lt; Include&gt;&#34;在构建之前使用外部脚本在VS2012Package.wxi.bak中标记,但错误只是更改为error CNDL0005 : The Component element contains an unexpected child element 'Registry'
感谢您的帮助!
答案 0 :(得分:1)
WiX v3.x中不推荐使用Registry
元素,在WiX v4.x中已废弃。请改用RegistryValue
。