[wix-users] customize burn bootstrapper application

Ike Casteleyn Ike.Casteleyn at compufit.be
Thu Dec 10 01:09:20 PST 2015


I have managed to create a multilanguage-msi that automatically performs the transform when it gets launched.
This means I don’t need a bootstrapper at this point.

To accomplish this, I did the following (you can also read http://www.codeproject.com/Articles/103749/Creating-a-Localized-Windows-Installer-Bootstrap also the comments)

Follow the steps in https://www.firegiant.com/wix/tutorial/transforms/morphing-installers/
The difference is instead of having a $(var.codepage), use a $(var.language) in de “Language” and Languages properties of Product and Package.
Then candle for each language “dlanguage=1033”, “-dlanguage=1036”
Make the transforms
Don’t the embedtransform tool (it seems not to work, we use another way)
You need to have the windows development kit installed.

You know it’s probably easier to just show the buildscript.
The path’s are hardcoded now.
This script would create an msi with english, dutch, french and german (when launched the correct language will be applied automatically)

:: compile and link for every language (the language codes can be found here https://msdn.microsoft.com/en-us/goglobal/bb964664.aspx)
"C:\Tools\wix 3.10.1\candle" -ext WixUIExtension -ext WixUtilExtension -dlanguage=1033 samplewixui.wxs
"C:\Tools\wix 3.10.1\light" -ext WixUIExtension -ext WixUtilExtension -cultures:en-US -o samplewixui.msi -spdb samplewixui.wixobj

"C:\Tools\wix 3.10.1\candle" -ext WixUIExtension -ext WixUtilExtension -dlanguage=1043 samplewixui.wxs
"C:\Tools\wix 3.10.1\light" -ext WixUIExtension -ext WixUtilExtension -cultures:nl-NL -o samplewixui_nl.msi -spdb samplewixui.wixobj

"C:\Tools\wix 3.10.1\candle" -ext WixUIExtension -ext WixUtilExtension -dlanguage=1036 samplewixui.wxs
"C:\Tools\wix 3.10.1\light" -ext WixUIExtension -ext WixUtilExtension -cultures:fr-FR -o samplewixui_fr.msi -spdb samplewixui.wixobj

"C:\Tools\wix 3.10.1\candle" -ext WixUIExtension -ext WixUtilExtension -dlanguage=1031 samplewixui.wxs
"C:\Tools\wix 3.10.1\light" -ext WixUIExtension -ext WixUtilExtension -cultures:de-DE -o samplewixui_de.msi -spdb samplewixui.wixobj

:: get the differences as transforms
"C:\Tools\wix 3.10.1\torch" -p -t language samplewixui.msi samplewixui_nl.msi -out nl-NL.mst
"C:\Tools\wix 3.10.1\torch" -p -t language samplewixui.msi samplewixui_fr.msi -out fr-FR.mst
"C:\Tools\wix 3.10.1\torch" -p -t language samplewixui.msi samplewixui_de.msi -out de-DE.mst

:: put the transforms in 1 msi (you need to have windows development kit installed)
wscript "C:\Program Files (x86)\Windows Kits\8.1\bin\x86\wisubstg.vbs" samplewixui.msi nl-nl.mst 1043
wscript "C:\Program Files (x86)\Windows Kits\8.1\bin\x86\wisubstg.vbs" samplewixui.msi fr-fr.mst 1036
wscript "C:\Program Files (x86)\Windows Kits\8.1\bin\x86\wisubstg.vbs" samplewixui.msi de-DE.mst 1031
wscript "C:\Program Files (x86)\Windows Kits\8.1\bin\x86\wilangid.vbs" samplewixui.msi Package 1033,1043,1036,1031

:: remove the things you don't need anymore
del samplewixui_nl.msi
del samplewixui_fr.msi
del samplewixui_de.msi
del nl-NL.mst
del fr-FR.mst
del de-DE.mst


The wxs-file needs to have something like this (notice the $(var.language)
  <Product Name='Foobar 1.0' Id='YOUR_GUID' UpgradeCode=' YOUR_GUID '
    Language='$(var.language)' Codepage='1252' Version='1.0.0' Manufacturer='Acme Ltd.'>

    <Package Id='*' Keywords='Installer'
      Description="Acme's Foobar 1.0 Installer"
      Comments='Foobar is a registered trademark of Acme Ltd.' Manufacturer='Acme Ltd.'
      InstallerVersion='100' Languages='$(var.language)' Compressed='yes' SummaryCodepage='1252' />

Best regards
Ike Casteleyn

Van: sampat magi [mailto:ssmcs060 at gmail.com]
Verzonden: donderdag 10 december 2015 1:02
Aan: Ike Casteleyn <Ike.Casteleyn at compufit.be>
Onderwerp: Re: [wix-users] customize burn bootstrapper application

Hey did u find any solutions? Alternative?
On Dec 9, 2015 9:12 PM, "Ike Casteleyn" <Ike.Casteleyn at compufit.be<mailto:Ike.Casteleyn at compufit.be>> wrote:

I'm looking into using burn as a bootstrapper application, but I can't figure out a few things.

It seems the bootstrapper is in English.
Can this be changed so that the current system-locale is used (I need different languages: french, german, english)

Is there a bootstrapper application that doesn't have a license box.
I would just need the "install", "cancel" button.
Optionally a language-combo (allthough I can probably just give the current system local as that is a property) to launch my multi-language msi

I also noticed that the bootstrapper application remains open until my custom msi is finished installing (when using DisplayInternalUI=yes).
Can this be closed immedately after my msi start (which is the last in the chain)?

Best regards
Ike Casteleyn

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

More information about the wix-users mailing list