Apache OpenOffice (AOO) Bugzilla – Full Text Issue Listing |
Summary: | Using .7z Compression Only for Installer Saves Almost 35 MB* Installer Size | ||||||
---|---|---|---|---|---|---|---|
Product: | Installation | Reporter: | S. Knorr <sknorr.os> | ||||
Component: | code | Assignee: | 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
S. Knorr
2008-04-12 23:06:21 UTC
This is surely not a defect. I don't think that this fits to our build process. 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? 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. (There's a minor mistake in my last post: it's 1.7 GHz, of course.) Any comments from developers on this? 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. Created attachment 53883 [details]
Screenshot from 7-Zip dialogues
- 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. 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. 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.) 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. |