Issue 66062

Summary: Multi-language MSI installer should automatically deselect irrelevant UI language features
Product: Installation Reporter: tml <tml>
Component: codeAssignee: AOO issues mailing list <issues>
Status: CONFIRMED --- QA Contact:
Severity: Trivial    
Priority: P4 CC: issues, kami911, olaf-openoffice
Version: OOo 2.0.3   
Target Milestone: ---   
Hardware: PC   
OS: Windows, all   
Issue Type: TASK Latest Confirmation in: ---
Developer Difficulty: ---
Description Flags
Proposed patch
Newer version of sellang.cxx
New windowscustomaction_ooo.scp snippet for SelectLanguage
Updated sellang.cxx none

Description tml 2006-06-02 21:38:15 UTC
Whe running a multi-language Windows installer, by default all the UI languages
are selected and get installed. It would be better if only the language of the
Windows installation in question was selected, and the others (except perhaps
en-US) were unselected. This can be done with a simple custom action.
Comment 1 tml 2006-06-02 21:40:25 UTC
Created attachment 36886 [details]
Proposed patch
Comment 2 tml 2006-06-13 07:49:28 UTC
Created attachment 37103 [details]
Newer version of sellang.cxx
Comment 3 tml 2006-06-13 08:09:20 UTC
The above new version fixes a bug: On en-US machines we	should also deselect all
the other UI languages. Additionally, don't deselect the language of the user's
Comment 4 Olaf Felka 2006-06-13 16:19:09 UTC
I don't see this as a defect. We should stay with this behaviour. I don't see 
any benefit for this change. Normaly the user has the single language version 
which he preferred/needs.
Comment 5 2006-06-15 10:13:39 UTC
Multilanguage installation sets are not really supported by us. Nevertheless
this is an interesting feature. We will investigate it. Setting target OOo 2.x.
Comment 6 tml 2006-06-15 10:17:48 UTC
Created attachment 37169 [details]
New windowscustomaction_ooo.scp snippet for SelectLanguage
Comment 7 tml 2006-06-15 10:21:09 UTC
The above attachment is a better way to make sure the custom action gets called
at the correct place. My previous attempt using the sequence tables failed
miserably, I couldn't figure out a way to get the custom action to run after the
"select installation type" dialog through the sequence tables. Associating the
custom action to the "Next" button on that dialog in the ControlEvent table
works as I want.
Comment 8 2006-10-11 11:12:44 UTC
Comment 9 2006-10-18 16:07:08 UTC
Setting target 2.1
Comment 10 Olaf Felka 2006-10-19 08:33:49 UTC
I think this is a new faeture/enhancement for the MSI and we are far behind
feature freeze. We should retarget this to OOo 2.2.
What are the results I should see in the installer? How should the installaer
Comment 11 tml 2006-10-19 09:15:05 UTC
> What are the results I should see in the installer? 
> How should the installaer behave?

Well, first you need to build a multilingual installer in the first place, not
just a bunch of single-language ones as now. In
instsetoo_native/util/, edit the dependency list of the relevant
ALLTAR target (it can be hard to figure out the ifdef jungle, but for me at
least it's the third one that's relevant). To test, make it something like:

ALLTAR : openoffice_en-US,de,fr,it

(assuming you have included de, fr and it in the languages configured and built
in the first place)

With the custom action in this issue included, if you then run the resulting
installer on a German Windows installation, you will notice (if you choose a
"Custom" installation so that you get to see the details) that the French and
Italian UI language components have been automatically deselected (and German
selected). Correspondingly, on a French Windows machine, the German and Italian
components would be deselected.
Comment 12 Olaf Felka 2006-10-19 09:28:58 UTC
It should be possible to detect if languagepacks are installed on the operating
system. In this case the related languages should not be deselected.
I see that this feature could be integrated, but I don't see the benefit. I
can't see why this is a 'nice to have'. The testing efford might be huge: At
lease we must assure that this will work in any language combination on any MS
Comment 13 tml 2006-10-19 10:25:28 UTC
> It should be possible to detect if languagepacks are installed on
> the operating system.

Do you mean OO.o language packs or Windows UI languages? If you mean the former,
isn't the only supported way to install a new version of OO.o to completely
uninstall the older one and its language packs first, so how could the installer
know what OO.o language packs/components have been before on the machine?

(And even if one would run an OO.o installer while an older OO.o version is
still installed, as the UUID identifiers for Windows Installer components are
regenerated fresh in each installer, how could the installer even know what to
look for?)

If you mean a Windows installation with multiple UI languages, yes, it would be
useful to enumerate the UI languages on the machine (using EnumUILanguages(),
presumably) and make sure to install the corresponding OO.o UI languages. I will
add that feature.

(I think multilingual Windows machines are pretty rare? Or what do I know, it
might be that in some locales or at some sites they are very common.)
Comment 14 Olaf Felka 2006-10-19 11:10:16 UTC
I'm talking about OS languagepacks. Maybe my question is boring but: What is the
benefit for this new feature.
Comment 15 tml 2006-10-19 11:56:30 UTC
Well, the benefit is not a HUGE one, I never claimed that. Just a nice-to-have

Novell uses a multi-lingual OO.o installer and we include as many UI languages
as we can. (There are unfortunately explicit and implicit limits on the number
of languages that can be included in the mechanism that builds the installer.
The Perl code tries to work around some limits, but there are bugs in the

The current set we build into one installer is
en-US,ar,cs,da,de,el,es,fi,fr,he,hu,it,nb,nl,pl,pt-BR,pt,ru,sv,tr I think.
Without automatically limiting the installed UI languages, customers might
wonder why UI languages they are never going to use have been installed and take
disk space. Some people might even be upset if they find languages that offend
their nationalistic sensibilities on their disk, sigh. (OK, probably nobody is
that silly...)
Comment 16 Olaf Felka 2006-10-19 12:04:46 UTC
I thought that we are talking about MSI? I fear that the efford is much bigger
than the benefit.
Comment 17 tml 2006-10-19 13:04:49 UTC
Huh, we *are* talking about MSI. Or at least, I interpret the term "MSI" as a
synonym for "Windows Installer". We are talking about the OO.o installer that
uses Windows Installer technology, aren't we? What does "MSI" mean to you?
Comment 18 2006-10-23 14:20:54 UTC
is -> tml: There seem to be two problems with your Patch. It is not prepared for
warning free code and it does not support Win 98. Do you agree? The
"GetSystemDefaultUILanguage" is not supported by Win 98. Can you please fix
this? OOo officially supports Win 98.
Comment 19 pavel 2006-10-31 11:25:06 UTC
retarget to next version.
Comment 20 pavel 2007-01-12 06:56:36 UTC
change target
Comment 21 tml 2007-02-23 13:39:37 UTC
Having this wait until OOo finally stops supporting Win9x is fine with me. (Why
should we support that longer than Microsoft does?) I will look into the other
issues mentioned and attach a new patch.
Comment 22 tml 2007-02-26 12:00:13 UTC
Created attachment 43375 [details]
Updated sellang.cxx
Comment 23 tml 2007-02-26 12:03:12 UTC
The above updated sellang.cxx uses EnumUILanguages() to list the Windows UI
languages installed on the system, and keeps also all those as selected UI
language features in the OOo installer.
Comment 24 2007-05-29 14:29:25 UTC
is -> tml: you are still waiting to the end of Win98 support? 
Comment 25 2007-06-29 14:34:11 UTC
setting later target, when Win 98 is no longer supported. 
Also removing PATCH flag, because it cannot be integrated in the near future.