Apache OpenOffice (AOO) Bugzilla – Issue 33117
Self-extracting installer for OpenOffice.org 1.x Windows
Last modified: 2006-10-09 16:21:33 UTC
Daniel Carrera and Chad have found a way to compress Windows binaries by 30 percent. Compression takes place after initial release. Proposal: 1. Binaries are created as usual 2. They are then made available to Daniel and co. 3. Daniel uploads them to stardiv or otherwise makes them avail for uploading 4. they are then promulgated. yes? thanks louis
I should point out that the change we've made is very simple. Anyone with a Windows computer (or wine) could do this: * Recompress all the f_* and f0_* files with zero compression. * Turn the entire directory into a self-extracting 7-zip archive with LZMA compression. That's it. No need to edit any config files or hack anything. Cheers, Daniel.
[changed title from "new compressed Windows binaries"] Hi, could you please confirm the md5sum: 5c007bed5966753df887833274858f7d OOo_1.1.2-kewl.exe The file has been uploaded to the master at the location we use for 1.1.2 release candidates: /contrib/rc/1.1.2rc3/OOo_1.1.2_040810_Win32Intel_install.exe It's propagating to the mirrors. I changed the name according to our file naming scheme: http://development.openoffice.org/releases/filenames.html I assume the self-extracting, 7-zip compressed version is another way to distribute our standard Windows installation set. If don't see a need to use the name of "1.1.2-kewl-4-skuul" and would prefer to use the standard entry "1.1.2" in the setup.inf file. Daniel, would you provide such a 7-zip file? Please keep in mind that some documentation needs some additional paragraphs, if we provide the self-extracting 7-zip-files for OpenOffice.org 1.1.x for all languages. Btw, is there a way to define a default extraction path during the creation of the file? IMHO it's very convenient to extract to a directory (with a given default name). I hope that Martin will have a chance to follow-up with Daniel regarding a more general process for future 1.1.x releases on dev@installation.openoffice.org. Greetings, Stefan
The "1.1.2-kewl-4-skull" distribution was meant for testing. We picked a different name so that people would be able to test it without breaking their existing 1.1.2 distribution. I certainly didn't expect that we'd be doing this for the already existing 1.1.2. I'll provide a non-kewl :-) 7-zip file as soon as Chad (the Windows guy) can make it. For the future, I really think we should have a spot in OO.org where we can upload the file. Louis says that IZ is not good for that. So what should we use instead? CVS? I understand that CVS is even more complex under Windows. Cheers, Daniel.
Daniel: if the file is to be promulgated, then it should be simply ftpd (or whatever) to stardiv, for which you need Stefan's permission. CVS is pretty simple under Windows, they tell me. Cheers Louis
CPH and I were just talking, and we have an idea. We could provide two distribution sets: 1) "Simplified auto-installer". Here, the self-extractor would then call "setup.exe" to perform a standard (non-network) distribution. This would provide the easiest possible installation, and it would cover most users. 2) "Expert package" Instead of a self-extractor, we provide a plain 7-zip file (and setup.exe is not called). This would take care of the users who need to pass a flag to setup.exe (such as -net). The idea of not making it self-extracting is to allow the user to select a different extraction directory. Do you guys think this is a good idea? Cheers, Daniel.
reopening. Louis
Okay, I can see the point of having one that calls up setup.exe and one that doesn't... But what benefit is there to having the one that doesn't call up setup.exe just a .7z file? First of all, people can't open .7z files without 7-Zip. From what I know, no other archival software opens the .7z format. Secondly, with the self-extractor, you can still move the folder whereever you want it. Thirdly, if we make it a .zip file, then we lose most of, if not all, of the size reduction we gained by using 7-Zip. I'm not saying we can't do it that way, I'm just saying that I don't see the point. -Chad Smith
And please keep in mind that disk space at the mirrors is limited...
Hi reassigning to martin to evaluate using 7 zip to compress by default all windows installer sets. Daniel: we can have only one set per platform per build. Louis
Ok. It was just a thought. It seemed good at the time :-)
just tried the stuff on 1.1.3, recompress with -mx=0, selfextracting archive with LZMA and ultra compress, the setup (loader) hangs forever after deflating the first file :(. can you provide the command line and parameters for each step ?
works better with -tzip -mx=0 switch :)
Created attachment 17755 [details] hacky script to create 7zipped install archive
does anybody has the command line for the sfx archive at hand ?
um, why were all the votes removed? Where do we stand on this - are we a "go" for the 1.1.3 release?
setting to fixed, although we still need the command lines for automation the process.
Chad, Could you please report on how to produce the 7-zip compression? I notice that people have asked. I can't answer that because I don't have a computer that can run 7-zip. My part here was to re-compress the f_* files with zero compression. We need to know what flags/procedures/etc you used the installation team can replicate the process. We need this to include the smaller installer when 1.1.3 comes out (due out soon). Cheers, Daniel.
To create a self-extracting file on Windows using 7-Zip: I took the uncompressed files that Daniel made, and downloaded them to my desktop. I then opened the folder using 7-Zip. I then selected all of the files within that folder and pressed the "Add" button (as in add to archive). In the windows that followed, I selected these options: Archive: *Whatever you want to name it* OOo_113_windows.exe (the exe will show up when you check "Create SFX archive") Archive format: 7z Compression Level: Ultra Compression Method: LZMA Dictionary Size: 32MB Word Size: 64 Create Solid Archive: Checked Update Mode: Add and replace files And under "Options" I checked the box marked "Create SFX archive" Password is blank Parameters is blank all other boxes unmarked Then I clicked "Ok" a few minutes later, I've got an archive. Hope that helps. -Chad Smith
Arrrgh, this is seriously flawed. Why are we creating a 1.1.3 installer that still requires the user to launch the setup.exe themselves, when we can do so automatically by using NSIS instead of 7Zip. That was the *whole point* of IZ 33827, to improve on from the 7Zip method. ??? Regards and best wishes, Justin Clift
This is a self-extracting version that automatically launches "setup.exe -alluser": http://www.digitaldistribution.com/community/OpenOffice.org_1.1.3_english.exe This should be used as the self-extractor instead of the existing one that has propagated to the mirrors. Regards and best wishes, Justin Clift
I don't know if my opinion counts for this, but for what it's worth, I agree with Justin. The NSIS version is even simpler than the self-extractor. Cheers, Daniel.
The checksums for the NSIS version of the 1.1.3 installer are: MD5SUM 1219cca15dc520ae96f3f6fdc1772add *OpenOffice.org_1.1.3_english.exe SHA1SUM 4328d89a8292b4de6c38f45ad53160dc9558b284 *OpenOffice.org_1.1.3_english.exe Regards and best wishes, Justin Clift
Created attachment 17854 [details] Main NSIS file for creating the self-extracting installer.
Created attachment 17855 [details] Script file for the NSIS installer to ask what type of install.
justin, why did you close the issue? louis
Sorry Louis, I didn't know that I had, it was an accident. Not sure how I did that. Can you re-open it? Regards and best wishes, Justin Clift
reopening Louis
Just had a thought... For the self-extractor screen that asks what type of installation the user wants, we'll need localised strings for each localised version to be created. The text strings to be translated are: + Which type of installation do you want? + Normal Installation + Network Installation (experts only) + Auto-extractor Regards and best wishes, Justin Clift
Hello! I created a little build env. to create smaller windows installation. I recreated the (anti)recomprossor batch file under NT, then I created a InnoSetup iss setup file... I will try to send as attachment. \ convert - the batch files, you should start 7zconv.bat crea - temp extract, compress folder dest - recompressed zip files go here source - the source - original ooo files ISSCR - InnoSetup script (work from dest) LANGUAGES - InnoSetup Lanuguage resources Languageaz.inc.iss - InnoSetup language includer OUTPUT - Final Installer goes here You will need IS latest 4.xx series to compile... Thanks, KAMI
Created attachment 17951 [details] Recompress and InnoSetup builder 1.0 (English and Hungarian)
OOo112 unpacked is 65MB. OOo113 unpacked is 141MB. this seems quite an extreme size difference. I am intending to distribute OOo on CD in a form that can be installed directly from the CD using the '-net' option, called from a batch script (as there's currently no UI for the multi-user install), and without the .zip format offered for download, I now don't have room on the CD. is there an explanation for this massive increase in size?
No, you don't understand. Those 65 MB are *still* packed. The size has not increased at all. All the f* files (f_0001, ...) are actually zip files. Notice that the directory size for 1.1.2 is the same as that for the zip file. What we did is package the program differently. This means that the dowloadable file is now only 45 MB instead of 65 MB. The install size of OOo is exactly the same. Furthermore, now we don't require third-party zip software. You should put the downlodable executable directly in the CD. Don't unpack it. The user can select the file directly, and it will unpack on its own. If you wish to discuss this, IZ is not a good place. The best place, I think, is the distribution list (dev@distribution.ooo or cdrom@distribution.ooo). Cheers, Daniel.
reset target.
Script file for the NSIS installer which passes all command line parameters to setup.exe and icon with gulls ;)
We should close either this issue or issue 33827. And then rewrite the summary to a more generic: "Self-extracting installer for Windows" I can't decide where to attach my NSIS scripts.
marking 33827 as a duplicate of this issue
*** Issue 33827 has been marked as a duplicate of this issue. ***
Created attachment 18180 [details] Python script for rezipping installation files
Created attachment 18181 [details] Icon for use with NSIS installer
Updated summary
Hello! I compressed the hu.ooo 1.1.2, the size is 42,7 MB (44 793 378 bytes) I will test with 1.1.3... Where can I upload my shrinked setup for testing? Bye, KAMI
Hello! It is me again! I created a build with 1.1.3 Eng... The size of package is 43,1 MB (45297801 bytes)... So it is smaller tha current release. It contains a little setup loader, with welcome screen, destination page, and task page (to passing options to setup exe)... It is currently in English and Hungarian... You may translate to your language: ENG.OnlyExtract=Only Extract ENG.MultiUser=Multi user ENG.AllUser=All user ENG.User=One user (not recommended) ENG.Installation=Installation Are you interested in my version? Regards, KAMI
Created attachment 18334 [details] NSIS script used for danish installer
I have attached the NSIS script I made for the danish installer. This danish builds an installer including an icon, lang = danish, uses the temp directory, hides the installer while OOo's setup.exe is running and closes the NSIS installer automatically when finished. You still need the (translated) installtype.ini that Justin attached. Thanks Justin for showing the way.
You're welcome. From my point of view, I'm glad to see the effort that went into this being of use to others. :) Regards and best wishes, Justin Clift
Created attachment 20320 [details] NSIS script for OOo 1.1.4 English self extractor.
Created attachment 20533 [details] NSIS script for OOo 1.1.4 German self extractor + translated installtype.ini
Do I understand it correctly that this installer also has some texts to translate? Do we publish this installer also for big-10 languages?
The installtype.ini contains 3 strings to translate. The main ui from the installer is translated in 43 languages. You can include one ore more language(s) and the installer tries to select the right one at runtime.
Why do you document this bug as fixed in 1.1.4 and include mention of a self extracting executable in the installation instructions when you're still releasing it is as a .zip file?: http://www.mirror.ac.uk/downloads/sunsite.dk/openoffice/stable/1.1.4/OOo_1.1.4_Win32Intel_install.zip
I am wondering the same thing as thegoldenear, and also why the file size for the Windows release is (currently) almost 65MB....?
OK, nevermind, I found out by browsing the releases mailing list that it was decided to implement the self-extracting installer in 1.1.5 instead of 1.1.4. I see now that this issue has been reopened, even though the target milestone currently says 1.1.4.
If this isn't implemented in 1.1.4 then the installation instructions shouldn't be describing how to install using the self extracting installer: http://www.openoffice.org/dev_docs/instructions.html And the list of issues new/fixed in 1.1.4 shouldn't mention this bug: http://download.openoffice.org/1.1.4/release_notes_1.1.4.html And this bug's target milestone should be set to 'OOo 1.1.5'
*** Issue 28387 has been marked as a duplicate of this issue. ***
Heh, Just ran the StarOffice 8 beta installer and it's unpacked and kicked off by "NSIS 2.04". Looks like someone in Sun really got the hang of NSIS, because the whole process is very smooth. :) (Aint it funny to see where thing lead?) Regards and best wishes, Justin Clift
see also issue 4729
*** Issue 22137 has been marked as a duplicate of this issue. ***
can this be closed? Louis
2.0 is out and self-extracting. I am closing this as WONTFIX being an issue for 1.x. Søren
close issue.