Bug Hunting Session
Bug 40481 - Unattended msi installation installs all languages by default
Summary: Unattended msi installation installs all languages by default
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Installation (show other bugs)
Version:
(earliest affected)
3.5.0 Beta3
Hardware: x86 (IA32) Windows (All)
: medium major
Assignee: Andras Timar
URL:
Whiteboard: target:3.6.0 target:3.5.4
Keywords:
: 38882 41541 42660 (view as bug list)
Depends on:
Blocks: Win-Installer-MAB mab3.5
  Show dependency treegraph
 
Reported: 2011-08-30 01:19 UTC by mferres
Modified: 2013-02-04 17:52 UTC (History)
6 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description mferres 2011-08-30 01:19:41 UTC
there is a big start-up time penalty in libreoffice 3.4 (6-7 secs to open a odt file)after msi package beign installed unnattended with:

msiexec /passive /i libreoffice34.msi

otherwise, installing the libreoffice 3.4.2 msi with user interaction results in a libreoffice installation with normal start-up time (2-3 secs in a test machine)

Older 3.3 version was installed this way without this performance issue.
Comment 1 mferres 2011-08-31 00:27:52 UTC
Found it. When msiexec calls /passive installation ALL language packages are installed therefore starting up slows down because a ton of language files being loaded.
Comment 2 Michail Pappas 2011-12-05 23:05:10 UTC
Just stumbled upon this bug. This seems similar to bug #41541 and bug #42660. In the latter one, I made the installation using group policy, which essentially means that an unattended installation (possibly using the /qn switch) takes place. 

I do not understand the necessity and reasoning behind installing all language packs. For that purpose, I am reopening this one in the hope that someone will modify the installation logic and include *only* the necessary language files.
Comment 3 Michail Pappas 2011-12-05 23:15:07 UTC
*** Bug 42660 has been marked as a duplicate of this bug. ***
Comment 4 Michail Pappas 2011-12-06 00:17:01 UTC
Issue here also seems to be exactly the same: http://nabble.documentfoundation.org/Silent-install-one-language-on-Winodws-tt2413235.html#a2413893
Comment 5 Michail Pappas 2011-12-06 00:24:20 UTC
(In reply to comment #1)
> Found it. When msiexec calls /passive installation ALL language packages are
> installed therefore starting up slows down because a ton of language files
> being loaded.

Issue is exhibited even without calling passive. As reported in #41541 the bug is exhibited during silent installs (/qn). Even specifying the specific language .mst does not help. For example, both of the following will end up installing a ton of things:
msiexec /i \\server\serverinstallnetpath\LibreOffice-3.4.3\libreoffice34.msi /qn
     -OR-
msiexec /i \\server\serverinstallnetpath\LibreOffice-3.4.3\libreoffice34.msi /t LibO_3.4.3_Win_x86_install_multi\trans_el.mst /qn


Installing without /qn is *not* an option for group policies. Therefore, large installations deploying via GPOs will end up having LibO running slower than a turtle...
Comment 6 Andras Timar 2011-12-08 08:47:55 UTC
Have you read Leif Lodahl's blogpost about customizing MSI install?
http://lodahl.blogspot.com/2011/11/silent-installation-following-up.html
There is a workaround.
Comment 7 Michail Pappas 2011-12-08 21:46:41 UTC
(In reply to comment #6)
> Have you read Leif Lodahl's blogpost about customizing MSI install?
> http://lodahl.blogspot.com/2011/11/silent-installation-following-up.html
> There is a workaround.

Thanks for the pointer, I had the idea of doing the same but lacked the guts to try it out. This seems ok for a workaround. 

Do you think that this will eventually be sorted out though? I definitely would like to avoid creating some huge transform files, so many things can go wrong. This thing is giving too much negative publicity (ie "sloooow libreoffice") as is (IMHO always)...
Comment 8 Audran Moulard 2011-12-24 08:51:04 UTC
*** Bug 41541 has been marked as a duplicate of this bug. ***
Comment 9 Audran Moulard 2011-12-24 08:54:29 UTC
*** Bug 38882 has been marked as a duplicate of this bug. ***
Comment 10 Audran Moulard 2011-12-24 09:36:59 UTC
Same problem with LibreOffice 3.5.0 beta2, all languages ​​are installed.

With libreoffice 3.5 you have a single msi package. You can't use this property TRANSFORMS=trans_da.mst without extracting it.

I use this solution like Leif Lodahl
msiexec libo.msi /qb- ADDLOCAL=ALL REMOVE=gm_Langpack_r_af,gm_Langpack_r_sq,gm_Langpack_r_ar,gm_Langpack_r_as,gm_Langpack_r_ast,.................................,gm_Langpack_r_cy,gm_Langpack_r_xh,gm_Langpack_r_zu
Comment 11 Timur 2012-01-19 03:05:55 UTC
This is VERY important to me and I wish it were of "high" importance. There are few issues which are from my experience related to unattended MSI installation:

- selecting only some languages and dictionaries, which can be done as described here, although not in a clean manner; I couldn't do it by creating MST

- installing additional extensions; I couldn't find a way to do it now

- setting "Tools-Options-Language Settings-Languages-Default Languages for Documents" and "Tools-Options-Language Settings-Languages-User Interface"; I couldn't find a way to do it now, and average users will not be able to use "Check spelling" feature

- setting "Tools-Options-Security-Macro Security-Security Level" to Medium; I couldn't find a way to do it now, and average users will not be able to open some complex tables

For the last two items, I found that an existing and working registrymodifications.xcu should be copied to new installation, but I couldn't get it to work.
Comment 12 Timur 2012-02-16 13:17:59 UTC
Lodahl's blog post which worked for 3.4.5. doesn't work directly for 3.5.0. I don't understand this logic that all languages ​​are installed, and then we remove those we want to use, opposite would be more logical. 
That being said, we can use msiexec with parameters to remove languages (REMOVE=gm_Langpack_r_af,..) and dictionaries (REMOVE=gm_r_ex_Dictionary_Af,..). How can we find all those codes? Well, copying them from MSI.
Comment 13 Timur 2012-02-22 09:46:18 UTC
I found 2 problems with msiexec silent installation (beside the lack of documentation): 
1. ISCHECKFORPRODUCTUPDATES seems to be deprecated and doesn't work anymore - how do we turn off Online Update / Check for Updates? 
2. Quickstart is not installed, although it would be useful because of slow start - how do we install it?
Comment 14 Timur 2012-02-23 08:15:01 UTC
This bug started as "Unattended msi installation installs all languages by default". That issue, even if not really solved, now can be circumvented with the help of Lodahl and others. 
I think it would be useful to rename and change it to "Unattended MSI installation needs more control". In that case, it would depend on related bugs 46510: "Turn on Quickstarter by silent install" and 46508: "Turn off Online Update feature by silent install".
I thank Andras for opening them.
Comment 15 Andras Timar 2012-04-25 11:25:24 UTC
I solved language selection problem during silent install. One issue - one bug ticket please, otherwise it is too confusing.
Comment 16 Not Assigned 2012-04-25 11:31:30 UTC
Andras Timar committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=5bc7a02a0f958ccd2a6479c5214b436cb3d6136d

fdo#40481 run SelectLanguage custom action during silent install, too
Comment 17 Timur 2012-05-07 04:40:51 UTC
Andras, I thank you for this. Can this be marked as resolved?
What is the new behavior of silent install now? Which languages will be installed by default? What about dictionaries?
Comment 18 Andras Timar 2012-05-07 05:04:13 UTC
(In reply to comment #17)

It has been already resolved.
Silent install now works just like typical install with the UI. We deselect those languages that aren't among the UI languages available on the system. 
Dictionaries are not affected by this patch.
Comment 19 Michail Pappas 2012-05-07 07:19:10 UTC
(In reply to comment #18)
> Dictionaries are not affected by this patch.

Can you please elaborate? When doing a normal/gui install IIRC only the dictionary associated with the Windows locale is installed. This was not the case with the msiexec installation, leading to a large libo footprint (around 900Mb).

Doing a single language install, but still installing all dictionaries drops this to around 550Mb. And doing a single dictionary install finally drops this down to 350Mb.

So, if I understand correctly, we are in the second scenario here?

If so, do you feel a different issue should be opened for installing a single dictionary?
Comment 20 Andras Timar 2012-05-07 09:36:47 UTC
(In reply to comment #19)
> (In reply to comment #18)
> > Dictionaries are not affected by this patch.
> 
> Can you please elaborate? When doing a normal/gui install IIRC only the
> dictionary associated with the Windows locale is installed. 

No. All dictionaries are installed by default when doing a normal/gui install. 

> If so, do you feel a different issue should be opened for installing a single
> dictionary?

You can open a new bug report that, if you want, but this issue has been discussed a few times already. It is not possible to guess - at least not in a politically correct manner - what dictionaries will a user need by default. Of course I'm open to suggestions.
Comment 21 Not Assigned 2012-05-14 09:31:16 UTC
Andras Timar committed a patch related to this issue.
It has been pushed to "libreoffice-3-5":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=b00c1b1af85c95fe37fed6a89491dbfcf3547eee&g=libreoffice-3-5

fdo#40481 run SelectLanguage custom action during silent install, too


It will be available in LibreOffice 3.5.4.
Comment 22 Timur 2012-05-30 07:13:17 UTC
(In reply to comment #18)
> (In reply to comment #17)
> 
> It has been already resolved.
> Silent install now works just like typical install with the UI. We deselect
> those languages that aren't among the UI languages available on the system. 
> Dictionaries are not affected by this patch.

It works as written in 3.5.4. But, if I'm right, even if we use explicit Property, such as IS5146=1 IS1033=1, it will still not be installed, if not among the UI languages available on the system. In that case, it's not OK. 
So, how can we add UI languages during silent install?
Comment 23 Andras Timar 2012-05-30 09:33:47 UTC
(In reply to comment #22)
> So, how can we add UI languages during silent install?

Good question. Too bad, that I did not think about it. I filed bug #50509 for this.