Issue 88212

Summary: Using .7z Compression Only for Installer Saves Almost 35 MB* Installer Size
Product: Installation Reporter: S. Knorr <sknorr.os>
Component: codeAssignee: AOO issues mailing list <issues>
Status: ACCEPTED --- QA Contact:
Severity: Trivial    
Priority: P3 CC: helge.kraak, issues
Version: OOo 2.4.0   
Target Milestone: ---   
Hardware: PC   
OS: Windows, all   
Issue Type: ENHANCEMENT Latest Confirmation in: ---
Developer Difficulty: ---
Attachments:
Description Flags
Screenshot from 7-Zip dialogues none

Description S. Knorr 2008-04-12 23:06:21 UTC
* Title speaks about de-DE locale of Openoffice.org.

Okay, now this works as following:
1. After installation Installer currently leaves the installation files on the
desktop, open this folder.
2. Now extract all the contents from the .cab files. (This works easily via the
context menu with the software I use, Iz-Arc.)
3. Recompress the extracted folders using 7-Zip (as .7z, using Ultra setting).

The new compressed file has a size of about 81 MB, compare that to the 114 MB of
the standard installer!
While an installer based on this might not help reduce server load on your side,
it will certainly help find more beta / RC testers, as well as make
Openoffice.org look somewhat more lightweight.
Comment 1 Olaf Felka 2008-04-13 08:12:14 UTC
This is surely not a defect. I don't think that this fits to our build process.
Comment 2 ingo.schmidt-rosbiegal 2008-04-14 09:59:38 UTC
Is this format supported by Windows Installer technology? The cabinet files are
created according to the information in the msi database using the Windows
Installer tool makecab.exe. In the ddf file we write:

CompressionType = LZX
CompressionLevel = 2

As far as I remember, only LZX and ZIP are supported compression types by
Windows Installer. Increasing the CompressionLevel leads to a very long
packaging time by only very little smaller cabinet files.

So we cannot simply change the packaging format. Or do you have additional
information?
Comment 3 S. Knorr 2008-04-14 17:09:44 UTC
What I found out is this: there is only archiving format which is supported by
MSIs: CAB. CABs can be either compressed (using "MsZip", "LZX" or "Quantum") or
uncompressed.
However, here comes the good news:

#1: Oo.o installation files uncompressed -- 330 MB
#2: Standard installer -- 114 MB
#3: .7z archive, Ultra setting, containing no .cabs / just folders -- 81.3 MB
(this is what I was originally referring to)
#4: .7z archive, Ultra setting, containing uncompressed cabs -- 85.9 MB (the
most viable solution from my point of view)
#5: .7z archive, Normal setting, containing uncompressed cabs -- 95.8 MB

* Ultra setting: time to compress: 7:30 min., time to decompress: 0:30 min., RAM
required for decompression: 9 MB
* Normal setting: time to compress: 5:00 min., time to decompress: 0:29 min.,
RAM required for decompression: 34 MB
(Times taken on a Notebook with 1.7MHz-single-core processor; RAM requirements
as displayed by 7-Zip.)


As you can see, #4's compression is almost as good as as #3's, only that it
should fit your build process better. 7-Zip contains a feature to create SFX
archives, so it should also be possible to eliminate the NSIS installer that
today contains the MSI installer.
Comment 4 S. Knorr 2008-04-15 10:43:39 UTC
(There's a minor mistake in my last post: it's 1.7 GHz, of course.)
Comment 5 S. Knorr 2008-05-21 11:19:13 UTC
Any comments from developers on this?
Comment 6 ingo.schmidt-rosbiegal 2008-05-21 11:35:50 UTC
So you would prefer uncompressed cab files and replacement of nsis by 7-zip.
Your size calculations are really promising.
Is there a gui offered by 7-zip? For example to determine the unpack path.
Is it an open source tool, that we are allowed to include into the build
environment? 
If yes for both, we should think about it in OOo 3.1 timeframe. At the moment
the process exists for NSIS and there are no resources to change this.
 
Comment 7 S. Knorr 2008-05-23 12:34:48 UTC
Created attachment 53883 [details]
Screenshot from 7-Zip dialogues
Comment 8 S. Knorr 2008-05-23 12:52:31 UTC
- License is over here: http://www.7-zip.org/license.txt . Basically it is LGPL
(2.1 or later). There's a restriction upon "unRAR"'s code, but I am not sure
that even applies since we're talking about 7-Zip compression.

- 7-Zip provides dialogues for such actions, however, it seems (to me) they are
not localisable and not scriptable either (after all it's a compression tool,
not a tool for making installers like NSIS). Screenshots are above.
Comment 9 ingo.schmidt-rosbiegal 2008-05-27 15:37:17 UTC
Hm, so it offers better compression but less functionality compared with NSIS.
Using 7-zip would be a big change in OOo download process. We offer much
functionality in NSIS. Setting target to 3.x.
Comment 10 S. Knorr 2008-07-05 12:49:24 UTC
What besides extracting the Openoffice.org files to the Desktop do you offer in
NSIS? (As far as I can see everything besides this is done in Windows Installer,
not NSIS.)
Comment 11 ingo.schmidt-rosbiegal 2008-07-07 10:19:37 UTC
Yes, the most part is done by the Windows Installer. But please start the
download file with parameter 

/HELP=ON

and you can see a help dialog with supported parameter of nsis. This parameters
are supported with nsis scripting.