在我们的WiX 3.8项目(创建MSI)中,我们希望有新的语言,如es-es、fr-fr、ru-ru等等。
在添加文件和构建之后,我多次得到以下错误,说明变量没有定义:"1>C:\src\wix38\src\ext\UtilExtension\wixlib\UtilExtension.wxs(54,0):error LGHT0102:本地化变量!(loc.msierrXmlFileFailedRead)是未知的。请确保定义了该变量。“
这些变量也有相同的错误:!(loc.msierrXmlFileFailedOpen)、!(loc.msierrXmlFileFailedSelect)、!(loc.msierrXmlFileFailedSave)、!(loc.msierrSecureObjectsFailedCreateSD)、!(loc.msierrSecureObjectsFailedSet)、!(loc.msierrSecureObjectsUnknownType)
因此,我创建了一个修改过的WiX版本。我下载了源代码并将相应的语言文件(fr-fr.wxl、es-es.wxl等)添加到该文件夹中:\src\ext\UtilExtension\wixlib。
我还更改了\src\ext\UtilExtension\wixlib\UtilExtension.wixproj,使其包含这些文件。
然后,我成功地构建了所有东西,将新文件复制到wix安装目录中,重新启动visual studio并重新构建--完全相同。
我做错什么了?!
顺便说一句:我通过在wixproj文件中引用新的语言文件(fr-fr.wxl等)找到了解决办法,但我并不认为这是最终的解决方案。
任何帮助都是非常感谢的!
发布于 2015-04-14 18:45:19
作为解决方案,可以下载en-us.wxl语言文件并修改它,任何对语言指示的区域性的引用都可以。
扩展名为WXL文件的存储库:https://github.com/wixtoolset/wix3/tree/develop/src/ext/UtilExtension/wixlib
在光传递中,使用文件的路径控制这些参数,其中包含翻译字符串: light -ext WixUIExtension -ext WixUtilExtension -ext WixFirewallExtension --ext WixFirewallExtension:pt-br -loc D:\pt-br.wxl .
发布于 2014-04-11 17:35:37
我有/有同样的问题,一些谷歌发现扩展还没有全部翻译。
发布于 2018-01-29 16:16:18
我也面临着同样的问题,也许我的解决方案将被某些人使用。在fr-fr和es-es文化中没有这个变量(msierrXmlFileFailedSelect等)的本地化,这是关键。您需要找到文件UtilExtension_fr-fr.wxl和UtilExtension_es-es.wxl,并将它们包含到项目中,或者将此变量的本地化从该.wxl文件复制到项目中的本地化文件。
https://stackoverflow.com/questions/22073490
复制相似问题