[Libreoffice-commits] .: solenv/bin
Kalman "" Szalai
kami911 at kemper.freedesktop.org
Tue Mar 1 16:29:23 PST 2011
solenv/bin/modules/installer/globals.pm | 2 +-
solenv/bin/modules/installer/windows/msiglobal.pm | 5 ++++-
2 files changed, 5 insertions(+), 2 deletions(-)
New commits:
commit 3fdf828b833f04f115a0f3d99aa8b1221f0365db
Author: Kalman Szalai - KAMI <kami911 at gmail.com>
Date: Wed Mar 2 01:25:13 2011 +0100
Refine compression of Windows installer
I increased the efficiency of LZM compression of makecab. I found that we can use .Set CompressionMemory=21 setting. This setting produces 83,91% of original installer size and if we combine it with a simple zip compression the download size can reduce to 83,54%.
Reference:
http://www.mail-archive.com/libreoffice@lists.freedesktop.org/msg07068.html
diff --git a/solenv/bin/modules/installer/globals.pm b/solenv/bin/modules/installer/globals.pm
index d5dae68..8912008 100644
--- a/solenv/bin/modules/installer/globals.pm
+++ b/solenv/bin/modules/installer/globals.pm
@@ -415,7 +415,7 @@ BEGIN
$one_cab_file = 0;
$fix_number_of_cab_files = 1;
$cab_file_per_component = 0;
- $cabfilecompressionlevel = 7;
+ $cabfilecompressionlevel = 21; # Using LZX compression, possible values are: 15 | 16 | ... | 21 (best compression)
$number_of_cabfiles = 1; # only for $fix_number_of_cab_files = 1
$include_cab_in_msi = 0;
$use_packages_for_cabs = 0;
diff --git a/solenv/bin/modules/installer/windows/msiglobal.pm b/solenv/bin/modules/installer/windows/msiglobal.pm
index a627c17..b3c4270 100644
--- a/solenv/bin/modules/installer/windows/msiglobal.pm
+++ b/solenv/bin/modules/installer/windows/msiglobal.pm
@@ -64,7 +64,10 @@ sub write_ddf_file_header
push(@{$ddffileref} ,$oneline);
$oneline = ".Set Compress=ON\n";
push(@{$ddffileref} ,$oneline);
- $oneline = ".Set CompressionLevel=$installer::globals::cabfilecompressionlevel\n";
+# The window size for LZX compression
+# CompressionMemory=15 | 16 | ... | 21
+# Reference: http://msdn.microsoft.com/en-us/library/bb417343.aspx
+ $oneline = ".Set CompressionMemory=$installer::globals::cabfilecompressionlevel\n";
push(@{$ddffileref} ,$oneline);
$oneline = ".Set Cabinet=ON\n";
push(@{$ddffileref} ,$oneline);
More information about the Libreoffice-commits
mailing list