[wix-users] Creating one MSI per language - error LGHT0100: The localization identifier 'xxxx' has been duplicated in multiple locations

Phill Hogland phill.hogland at rimage.com
Thu May 5 08:27:30 PDT 2016


I suspect (only a guess) that the problem is in your WixLocalization headers.  For example my en-US.wxl file has this:
<?xml version="1.0" encoding="utf-8"?>
<WixLocalization Culture="en-US"
                 Codepage="1252"
                 Language="1033"
                 xmlns="http://schemas.microsoft.com/wix/2006/localization">
  <!-- DO NOT TRANSLATE the following strings, until indicated below.-->
  <String Id="LCID">1033</String>
  <String Id="Codepage">1252</String>
  <String Id="SummaryCodepage">1252</String>
  <!-- !!!!!!!DO NOT TRANSLATE STRINGS ABOVE THIS LINE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!-->

My ja-JP.wxl file is like this
<?xml version="1.0" encoding="utf-8"?>
<WixLocalization Culture="ja-JP"
                 Codepage="932"
                 Language="1041"
                 xmlns="http://schemas.microsoft.com/wix/2006/localization">
  <!-- DO NOT TRANSLATE the following strings, until indicated below.-->
  <String Id="LCID">1041</String>
  <String Id="Codepage">932</String>
  <String Id="SummaryCodepage">932</String>
  <!-- !!!!!!!DO NOT TRANSLATE STRINGS ABOVE THIS LINE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!-->

My MSI Product and Package are defined like this:
<Product Id="*" Name="$(var.MyProductName)" Version="$(var.ProductVer)" Manufacturer="Company" Language="!(loc.LCID)" UpgradeCode="$(var.my_UpgradeCode)" >
    <Package InstallerVersion="500" Compressed="yes" InstallScope="perMachine" InstallPrivileges="elevated" Manufacturer="Company" SummaryCodepage="!(loc.SummaryCodepage)"/>

Also I have been using:
<Cultures>pt-br;en-us</Cultures>

________________________________________
From: wix-users <wix-users-bounces at lists.wixtoolset.org> on behalf of Diala Da Costa <dialac at microsoft.com>
Sent: Wednesday, May 4, 2016 11:17:44 PM
To: wix-users at lists.wixtoolset.org
Subject: [wix-users] Creating one MSI per language - error LGHT0100: The localization identifier 'xxxx' has been duplicated in multiple locations

Hi,

I'm new to MSI and WIX but I'm trying to create a Multi-Language MSI package without a setup.exe launcher. Using this link http://www.codeproject.com/Articles/103749/Creating-a-Localized-Windows-Installer-Bootstrap

I'm still in the step of creating one MSI per language and I'm passing the following value "pt-br,en-us;en-us" in Visual Studio with the goal to have 2 MSIs (Portuguese and an English) as result of building the wixproj.

In my wixproj, I have the following entry:
<PropertyGroup>
  <Cultures>pt-br,en-us;en-us</Cultures>
</PropertyGroup>

And also I have the 2 strings.wxl files listed like:
<ItemGroup>
    <EmbeddedResource Include="Localization\en-us\Strings.wxl" />
    <EmbeddedResource Include="Localization\pt-br\Strings.wxl" />
  </ItemGroup>

In VS, I can see Light.exe being called twice with the following cultures:

light.exe -o bin\Release\Setup.msi
     -ext WixNetFxExtension.dll
     -ext WixUIExtension.dll
     -cultures:"pt-br,en-us"
     Product.wixobj
     -loc Localization\en-us\strings.wxl
     -loc Localization\pt-br\strings.wxl

And

light.exe -o bin\Release\Setup.msi
     -ext WixNetFxExtension.dll
     -ext WixUIExtension.dll
     -cultures:"en-us"
     Product.wixobj
     -loc Localization\en-us\strings.wxl
     -loc Localization\pt-br\strings.wxl

But I'm getting the following errors, in the first call already:

error LGHT0100: The localization identifier 'xxxxx' has been duplicated in multiple locations.  Please resolve the conflict.

If I change the Localization\pt-br\strings.wxl with Build Action "None" instead of "EmbeddedResource". In the wixproj like:

<ItemGroup>
    <EmbeddedResource Include="Localization\en-us\Strings.wxl" />
    <None Include="Localization\pt-br\Strings.wxl" />
  </ItemGroup>

The errors are gone. However both MSI are showing English UI strings. I'm assuming it's because the Localization\pt-br\Strings.wxl file is not used during the build.

Am I doing something wrong? Am I missing anything? Is it possible to have light.exe being called several times, per culture group, using more than one embeddedresource type file (-loc parameter)?

Thanks a lot,
Diala


____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/


More information about the wix-users mailing list