Unable to localize in Boostrapper WiX 3.8

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Unable to localize in Boostrapper WiX 3.8

loonloon0625
This post has NOT been accepted by the mailing list yet.
This post was updated on .
Bundle.wxs

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:bal="http://schemas.microsoft.com/wix/BalExtension">
  <?define ProductName = "Product A" ?>
  <?define ProductManufacturer = "!(loc.ProductManufacturer)" ?>
  <?define ProductUpgradeCode = "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA" ?>

  <Bundle Name="$(var.ProductName)" Version="$(var.BuildVersion)" Manufacturer="$(var.ProductManufacturer)" UpgradeCode="$(var.ProductUpgradeCode)">
    <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense">
      <bal:WixStandardBootstrapperApplication SuppressOptionsUI="yes" LicenseFile="Localization\1033\LICENSE.rtf" ThemeFile="Custom\CustomRtfTheme.xml" />
      <Payload Name="1033\thm.wxl" SourceFile="Localization\1033\thm.wxl" />
      <Payload Name="1041\thm.wxl" SourceFile="Localization\1041\thm.wxl" />
      <Payload Name="1041\LICENSE.rtf" SourceFile="Localization\1041\LICENSE.rtf" />
    </BootstrapperApplicationRef>
    <Chain>
      <MsiPackage Id="MSI_A" SourceFile="A.msi">
        <MsiProperty Name="TRANSFORMS" Value="!(loc.TransformsCode)" />
      </MsiPackage>
      <MsiPackage Id="MSI_B" SourceFile="B.msi">
        <MsiProperty Name="TRANSFORMS" Value="!(loc.TransformsCode)" />
      </MsiPackage>
    </Chain>
  </Bundle>
</Wix>

thm.wxl

<?xml version="1.0" encoding="utf-8"?>
<WixLocalization Culture="ja-jp" Language="1041" xmlns="http://schemas.microsoft.com/wix/2006/localization">
  <String Id="TransformsCode">:ja-jp.mst</String>
  <String Id="ProductManufacturer">XXXXXX</String>
</WixLocalization>

I have done the transforms process for the A.msi and B.msi and the bootstrapper can displays the license and UI language correctly either in en-us / ja-jp. However only the below lines of statement not work correctly. For example, during JP OS, it display en-us msi and english product manufacturer name in ARP.

<?define ProductManufacturer = "!(loc.ProductManufacturer)" ?>
<MsiProperty Name="TRANSFORMS" Value="!(loc.TransformsCode)" />
Reply | Threaded
Open this post in threaded view
|

Re: Unable to localize in Boostrapper WiX 3.8

Phill Hogland
This post has NOT been accepted by the mailing list yet.
Your MsiPackage needs to include the the transform files as a Payload (or a PayloadGroupRef).  I suspect your msi log file, typically in your %temp% folder, indicates that it cannot find the transform file.  In my experience the name is typically a lcid.mst.  If one embeds the the transform into the msi with a name ":lcid.mst" then the msi automatically selects it, (but this approach can also lead to strange problems with burn so I do not embed transforms in any of my msi packages anymore). In know that there are a number of examples of this posted in the archives to demo doing localization with WixStdBA.

 <MsiPackage Id="MSI_A" SourceFile="A.msi">
     <MsiProperty Name="TRANSFORMS" Value="!(loc.TransformsCode)" />
     <Payload Id='1041.mst' Name='<folder>\1041.mst' SourceFile='<folder>\1031.mst'  />
 </MsiPackage>

I hesitate to respond to posts in the old lists, as there is more help available in the new wix-users forums.
Reply | Threaded
Open this post in threaded view
|

Re: Unable to localize in Boostrapper WiX 3.8

loonloon0625
This post has NOT been accepted by the mailing list yet.
This post was updated on .
Hi ! Thanks for your reply, I just solved it by adding Codepage in thm.wxl file and it seems works correctly with the EmbedTransform.exe for the msi
Reply | Threaded
Open this post in threaded view
|

Re: Unable to localize in Boostrapper WiX 3.8

loonloon0625
This post has NOT been accepted by the mailing list yet.
This post was updated on .
In reply to this post by Phill Hogland
Hi Phill, I found the real root cause is the thm.xml,

if I set en-us as EmbeddedResource and ja-jp as None, then when I launch the bootstrapper, the bootstrapper will display English however the msi will displays Japanese !!!!!
Reply | Threaded
Open this post in threaded view
|

Re: Unable to localize in Boostrapper WiX 3.8

loonloon0625
This post has NOT been accepted by the mailing list yet.
In reply to this post by Phill Hogland