Menu

#1413 wixout files are localised and can't be re-localised

v3.0
closed
light (353)
2012-09-15
2008-11-17
No

The wixout files generated by light are localised to US English and cannot be re-bound to a different localisation.

The first run of light uses the following command line:
light -loc MyStrings_en-us.wxl -out "Setup.wixout" -xo -cc ".\cab" obj*.wixobj
and the second:
light -cultures:es-es;en-us -loc MyStrings_es-es.wxl -loc MyStrings_en-us.wxl -out "Setup.msi" -cc ".\cab" -reusecab "Setup.wixout"

Discussion

  • Anonymous

    Anonymous - 2008-11-18

    Update: The bug is probably related to the fact the I have to supply -loc command to stop light failing resolve any of my localisation variables and generating this error:
    Product.wxs(15) : error LGHT0102 : The localization variable
    !(loc.ProductLanguage) is unknown. Please ensure the variable is defined.

     
  • Bob Arnson

    Bob Arnson - 2008-11-29

    You're running into default localization. Try the -sloc switch on Light. Unfortunately, there isn't a wix.targets property for it yet -- I'm adding that now.

     
  • Anonymous

    Anonymous - 2008-11-29

    I assume you meant adding -sloc to the first run of light i.e. generating the wixout file. That stops the LGHT0102 error but then when I run light again to generate the localised MSI I get this error:

    light.exe : error LGHT0001 : '!(loc.SummaryCodepage)' is not a supported encoding name.
    Parameter name: name

    Exception Type: System.NotSupportedException

    Stack Trace:
    at Microsoft.Tools.WindowsInstallerXml.Common.GetValidCodePage(String value)
    at Microsoft.Tools.WindowsInstallerXml.Binder.BindDatabaseSummaryInfo(Output output, Boolean& longNames, Boolean& compressed)
    at Microsoft.Tools.WindowsInstallerXml.Binder.BindDatabase(Output output, String databaseFile)
    at Microsoft.Tools.WindowsInstallerXml.Binder.Bind(Output output, String file)
    at Microsoft.Tools.WindowsInstallerXml.Tools.Light.Run(String[] args)
    Binder temporary directory located at 'C:\Users\Neil Sleightholm\AppData\Local\Temp\0qfqqxu0'.
    Validator temporary directory located at 'C:\Users\Neil Sleightholm\AppData\Local\Temp\ttx1hmld'.

     
  • Bob Arnson

    Bob Arnson - 2008-11-29

    If you hard-code the codepage, is that the only error? (We localize after trying to set the summary info.)

     
  • Bob Arnson

    Bob Arnson - 2008-11-29

    I reversed the other so that loc resolution happens before the summary info stuff. That fixed it on our end.

     
  • Anonymous

    Anonymous - 2008-11-30

    Removing the summary info localisation stopped the error but now I get these errors for all the localisation variables:

    C:\delivery\Dev\wix30_public\src\ext\UIExtension\wixlib\ErrorProgressText.wxs(17) : error LGHT0102 : The localization variable !(loc.ProgressTextInstallValidate) is unknown. Please ensure the variable is defined.
    C:\delivery\Dev\wix30_public\src\ext\UIExtension\wixlib\ErrorProgressText.wxs(18) : error LGHT0102 : The localization variable !(loc.ProgressTextInstallFiles) is unknown. Please ensure the variable is defined.

     
  • Bob Arnson

    Bob Arnson - 2008-11-30

    OK, so it's apparently not picking up the localization sets from the extension's wixlib. It works if you explicitly add the .wxl in a -loc switch.

     
  • Anonymous

    Anonymous - 2008-11-30
     
  • Anonymous

    Anonymous - 2008-11-30

    Sample attached.
    File Added: Test.zip

     
  • Bob Arnson

    Bob Arnson - 2008-12-01

    Allow .wixouts going through the binder to get localizations from libraries in extensions

     
  • SourceForge Robot

    This Tracker item was closed automatically by the system. It was
    previously set to a Pending status, and the original submitter
    did not respond within 21 days (the time period specified by
    the administrator of this Tracker).

     
MongoDB Logo MongoDB