[Libreoffice] (un)localized MSI installer

Tor Lillqvist tlillqvist at novell.com
Thu Jan 13 10:06:24 PST 2011


> The next part (setup.exe/MSI) is always in English.

That is not the intent; if you check the installation files that get unpacked by the outer NSIS layer into a temporary folder, you see that there are a bunch of transforms (.mst files), one for each language the installer is localized to. The setup.ini file maps language codes to transform names, and it is all supposed to happen automatically.

And, as far as I can recall, it has worked nicely in the past in our (Novell's) old multilingual OOo installers.

And Thalion72 on IRC do tell me that it works for him, he sees the MSI installer in German on a German Windows.

But, for some weird reason that doesn't seem to work now in a Swedish XP installation I have. Not even old multilingual OOo installers (I tried several old ones, 2.4.1, 3.0. 3.2.1) come up in Swedish. I wonder if some setting has changed in this XP machine thanks to some Windows Upgrade fix?

FWIW, it works fine to run msiexec -i libreoffice33.msi transforms=trans_sv.mst .

Unfortunately msiexec's log file is not really that helpful, it doesn't give any clear answer why the automatic transform selection doesn't work. (You can get a very verbose log file from msiexec by using the option -lxv* logfile.log)

HMM, WAIT!

Actually now I notice in desktop/win32/source/setup/setup.cpp, that it is actually the LO setup.exe code that is supposed to automate the use of the correct transform, not Windows Installer itself.

setup.exe checks which transform is most appropriate and passes a  TRANSFORMS=trans_foo.mst parameter to msiexec.

So the problem must be in setup.exe, in some cases it fails to understand that it should use a transform. That is good, because it means we can debug it. As I am able to reproduce the problem, I will get right at it...

--tml




More information about the LibreOffice mailing list