I'm new to WIX and i'm using Wix 3.8 VS 2012. I managed to Generate .msi to .exe using this amazing tool.
From this tutorial : http://max.zamorsky.name/node/78, I managed to change the installer to French
. I would like to make a multilingual installer which the installer could detect the system language & proceed to install.
I tried to understand this link:http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Localized-bundle-Picking-up-the-right-files-td7265208.html but i couldn't understand.
Please guide me that how can i make this type of installer? Need your help & thank you.
Bundle.WXS
<?xml version="1.0" encoding="UTF-8"?>
<?define SourceDirImages = "C:\Users\krangaraj\Documents\Visual Studio 2012\Projects\PrintUtility\SetupProjectInstaller" ?>
<?define SourceDoc = "C:\Users\krangaraj\Documents\Visual Studio 2012\Projects\PrintUtility\PrintUtilityExe" ?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension">
<Bundle Name="PrintUtility" Version="1.5" Manufacturer="DNP PIE SAS" IconSourceFile="PartyPrintInstaller.ico"
UpgradeCode="7ba74925-c154-4939-9c2e-a531eac0cd8a" >
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" >
<bal:WixStandardBootstrapperApplication SuppressOptionsUI="yes" SuppressRepair="yes"
LicenseFile="$(var.SourceDoc)\sample.rtf" ThemeFile="HyperlinkTheme.xml"
LocalizationFile="HyperlinkTheme.wxl"
ShowVersion="yes"
LogoFile="$(var.SourceDoc)\logo.jpg" LogoSideFile="$(var.SourceDoc)\SideLogo.jpg"/>
<!--For the French language -->
<Payload Compressed="yes" Name="1036\thm.wxl" SourceFile="1036\thm.wxl"/>
<!-- I would like to add German,Greek,English,Es,It,Jp,Ru,Turkish make a common installer
<Payload Compressed="yes" Name="1031\thm.wxl" SourceFile="1031\thm.wxl"/>
<Payload Compressed="yes" Name="1032\thm.wxl" SourceFile="1032\thm.wxl"/>
<Payload Compressed="yes" Name="1033\thm.wxl" SourceFile="1033\thm.wxl"/>
<Payload Compressed="yes" Name="1034\thm.wxl" SourceFile="1034\thm.wxl"/>
<Payload Compressed="yes" Name="1040\thm.wxl" SourceFile="1040\thm.wxl"/>
<Payload Compressed="yes" Name="1041\thm.wxl" SourceFile="1041\thm.wxl"/>
<Payload Compressed="yes" Name="1049\thm.wxl" SourceFile="1049\thm.wxl"/>
<Payload Compressed="yes" Name="1055\thm.wxl" SourceFile="1055\thm.wxl"/>-->
</BootstrapperApplicationRef>
<Chain>
<!-- TODO: Define the list of chained packages. -->
<MsiPackage SourceFile="$(var.SourceDirImages)\Product.msi"/>
</Chain>
</Bundle>
</Wix>
Assuming that you don't plan to use a bootstrapper that chooses the language and then starts the MSI with the appropriate language transform, you can use the method described on the following site: http://www.installsite.org/pages/en/msi/articles/embeddedlang/
Please note that the method is unsupported by Microsoft, but I had no negative experience with it. Also note that not the UI language of Windows is used to detect the language, but the Standards and format options of Windows.
It basically consists of the following steps:
During installation, the initial dialog will pop-up which checks for the configured language, then the UI is shown in the correct language.
As said: this method worked great for me for an installer and > 20 languages.