[Libreoffice] Bug 38882 - [EasyHack] Make it easier to select/deselect UI languages in the Windows installer

Cato Auestad bleakgadfly at fsfe.org
Mon Aug 22 09:38:10 PDT 2011

On Mon, Aug 22, 2011 at 5:49 PM, Tor Lillqvist <tlillqvist at novell.com> wrote:
> Hmm, OK, so it isn't a relational database like .msi files.

The way I understood it, it is a chunk of XML but I might be wrong.
It's not a subject I have researched a lot.

> They are created from .idt files (textual source/dump format for the relational database tables in the .msi) using msidb etc. These .idt files are created from information in the scp2 module, and then the .idt files are processed by the MSI tools in the Windows SDK. All this done and run by a pile of Perl in solenv/bin/make_installer.pl, and the Perl modules that it includes. Note that "we" (LibreOffice) did not design this, this is all stuff that has a very long history in OOo.

I work daily with creating and modifying installer packages (msi's) on
the Windows platform for deployment, and that sounds like a really
hard way to do it. 2.3k lines of code to create an MSI.

> Couldn't we just create the installer database (the .msi) with your transform (suitably modified) pre-applied? So that if the installer is run with any of these GERMAN, SWEDISH etc parameters set, then that is used to decide what UI languages to install (and any IS9999 parameters are ignored).

Of course. I use a tool called InstEd which allows me to change the
property names of the "ISXXXXX" rows to their corresponding language
and InstEd does row reference checking to make sure that every place
that value is used is updated with the new value. That is about the
only thing I have done to be able to use languages as public
properties instead of ISXXXXX. InstEd also allows me to apply the
transform on an existing MSI so we won't have to do it every time we
are doing an installation.

Cato Auestad

More information about the LibreOffice mailing list