Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


On Mon, Aug 22, 2011 at 5:49 PM, Tor Lillqvist <tlillqvist@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
bleakgadfly
www.bleakgadfly.me
www.bleakgadfly.com

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.