light.exe:错误 LGHT0199:WixLocalization 元素的命名空间不正确 'WixLocalization'

light.exe : error LGHT0199 : The WixLocalization element has an incorrect namespace of 'WixLocalization'

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

E:\Source\TestProgram\builder>ant -v -f Build.xml -Dlabel =.001 install

我收到以下错误:

[exec] light.exe : error LGHT0199 : The WixLocalization element has an incorrect namespace of 'WixLocalization'. Please make the WixLocalization element look like the following: . [ant] Exiting E:\Source\TestProgram1.0.1English_installer.xml.

我想知道错误的根本原因?

我检查了 "TestProgram1.0.1English_Installer.wxs" 文件中的“WixLocalization”,但没有找到任何内容。

请帮我解决问题。

您正在使用不支持 WiX v4 的 Ant 任务。坚持使用 WiX v3(支持的最新版本)。

更新:wixlibs - 我还没有使用的另一个功能。


Bob 对这一切了如指掌,但如果问题出在其他地方,请让我插话提问。只是为了验证,你能检查问题项目中的所有*.wxl files(本地化文件)吗?只是为了确保指定的架构符合版本 4 的预期?:

WiX 4:

English.wxl:

<?xml version="1.0" encoding="utf-8"?>
<WixLocalization Culture="en-us" xmlns="http://wixtoolset.org/schemas/v4/wxl">
   <String Id="YOURLOCID">Your localized string</String>
</WixLocalization>

WiX 3:

English.wxl:

<?xml version="1.0" encoding="utf-8"?>
<WixLocalization Culture="en-us" xmlns="http://schemas.microsoft.com/wix/2006/localization">
  <String Id="YOURLOCID">Your localized string</String>
</WixLocalization>

建议:

  • 因此,如果 WiX 4 缺少本地化文件 (*.wxl)。要么在 Visual Studio 中,要么将其整合到您的批处理构建中脚本。
  • 如果那里有 *.wxl,可能会将架构更新为 <WixLocalization Culture="en-us" xmlns="http://wixtoolset.org/schemas/v4/wxl">.
  • 命令行,请看这个:How To: Build a Localized Version of Your Installer.