I'm using WiX v3.9 R2 to create my installer. I have the installer localized into several languages, works great. However, it always uses the English name of the application in Programs & Features, no matter what language the format and display language is set to.
How do I tell it to use a localized name for my application, in Programs & Features?
Edit:
To clarify: I think what I need is a way to change the Bundle's name attribute (or, [WixBundleName]) at install time, based on the user's language. Is that possible?
Or failing that, how do people currently use WiX Bundle, and end up with the program's name localized in Programs and Features?
Edit 2: From the WiX site:
WixBundleName - gets the name of the bundle (from Bundle/@Name). This variable can also be set by the bootstrapper application to modify the bundle name at runtime.
So it sounds like this can be done - but how?
Edit 3: Here is my current Bundle, for reference. The last item in the chain is my application.
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:bal="http://schemas.microsoft.com/wix/BalExtension">
<Bundle Name="Map Creator"
Version="$(var.ProductVersion)"
Manufacturer="FMOsoft"
IconSourceFile="$(var.KarteDir)\assets\logo\ico\icon.ico"
UpgradeCode="[GUID]"
AboutUrl="http://fmosoft.com/MapCreator"
Copyright="Copyright© 2015, FMOsoft">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkSidebarLicense">
<bal:WixStandardBootstrapperApplication
LocalizationFile="$(var.KarteDir)\install\win\L10n\installer\thm_en_us.wxl"
ThemeFile="$(var.KarteDir)\install\win\HyperlinkSidebarTheme_fmosoft.xml"
LogoFile="$(var.KarteDir)\assets\logo\bmp\logo_64.bmp"
LogoSideFile="logoside.bmp"
ShowVersion="yes"
LicenseFile="$(var.KarteDir)\install\license_en.html"
SuppressOptionsUI="yes"
LaunchTarget="[ProgramFiles6432Folder]\FMOsoft\MapCreator\MapCreator.exe"
/>
<!-- WixStdBa requires specific names, at run time, in the temporary .BA1 folder. XML and png file is only needed for layout changes.
Payload/@Name for .wxl must be <lcid>\thm.wxl
Payload/@Name for .xml must be <lcid>\thm.xml AND must also have logo.png in same folder.-->
<Payload Id="theme_en_us" Compressed="yes" Name="1033\thm.wxl" SourceFile="$(var.KarteDir)\install\win\L10n\installer\thm_en_us.wxl"/>
<Payload Id="license_en_us" Compressed="yes" Name="1033\license.html" SourceFile="$(var.KarteDir)\install\license_en.html"/>
<Payload Id="theme_es_es" Compressed="yes" Name="1034\thm.wxl" SourceFile="$(var.KarteDir)\install\win\L10n\installer\thm_es_es.wxl"/>
<Payload Id="license_es_es" Compressed="yes" Name="1034\license.html" SourceFile="$(var.KarteDir)\install\license_es.html"/>
<Payload Id="theme_fr_fr_xml" Compressed="yes" Name="1036\thm.xml" SourceFile="$(var.KarteDir)\install\win\L10n\installer\HyperlinkSidebarTheme_fmosoft_fr.xml"/>
<Payload Id="theme_fr_fr" Compressed="yes" Name="1036\thm.wxl" SourceFile="$(var.KarteDir)\install\win\L10n\installer\thm_fr_fr.wxl"/>
<Payload Id="theme_fr_fr_logo" Compressed="yes" Name="1036\logo.png" SourceFile="$(var.KarteDir)\assets\logo\bmp\logo_64.bmp"/>
<Payload Id="theme_fr_fr_sidelogo" Compressed="yes" Name="1036\logoside.png" SourceFile="$(var.KarteDir)\install\win\logoside.bmp"/>
<Payload Id="license_fr_fr" Compressed="yes" Name="1036\license.html" SourceFile="$(var.KarteDir)\install\license_fr.html"/>
<Payload Id="theme_pt_br" Compressed="yes" Name="1046\thm.wxl" SourceFile="$(var.KarteDir)\install\win\L10n\installer\thm_pt_br.wxl"/>
<Payload Id="license_pt_br" Compressed="yes" Name="1046\license.html" SourceFile="$(var.KarteDir)\install\license_pt.html"/>
<Payload Id="theme_id" Compressed="yes" Name="1057\thm.wxl" SourceFile="$(var.KarteDir)\install\win\L10n\installer\thm_id.wxl"/>
<Payload Id="license_id" Compressed="yes" Name="1057\license.html" SourceFile="$(var.KarteDir)\install\license_id.html"/>
</BootstrapperApplicationRef>
<WixVariable Id="WixStdbaLicenseUrl" Value="license.html" />
<Variable Name="MyProductVersion" Value="$(var.ProductVersion)" />
<!-- There must be a better way to show the localized name of the app in the setup, but this works. -->
<Variable Name="AppName_es" Value="Creador de Mapas"/>
<Variable Name="AppName_fr" Value="Créateur de Carte"/>
<Variable Name="AppName_pt" Value="Criador de Mapas"/>
<Variable Name="AppName_id" Value="Pencipta Peta"/>
<Chain>
<ExePackage SourceFile="vcredist_x64.exe" PerMachine="yes" Permanent="yes" Vital="yes" Compressed="yes" InstallCommand="/quiet /norestart" InstallCondition="VersionNT64"/>
<ExePackage SourceFile="vcredist_x86.exe" PerMachine="yes" Permanent="yes" Vital="yes" Compressed="yes" InstallCommand="/quiet /norestart" InstallCondition="NOT VersionNT64"/>
<PackageGroupRef Id="OldMapEditorPackage"/>
<MsiPackage Vital="yes" SourceFile="$(var.BuildDir)out\map-creator-$(var.Platform).msi" />
</Chain>
</Bundle>
</Wix>