Apache OpenOffice (AOO) Bugzilla – Issue 54917
New NSIS installer package makes things complicated.
Last modified: 2013-08-07 15:26:05 UTC
While I think that I know why the installer has been moved from a downloadabe zip archive to a NSIS installer - to make it easier for a novice computer user to install - the new NSIS setup is counterintuitive and cumbersome for experienced users. As an experienced user, I do not want to go through a wizard with several screens in order to extract an installer to my hard drive. Instead of using something like NSIS, perhaps the built-in installer capabilities of 7-Zip would make more sense. 7-Zip can easily create an executable file that when clicked, can present a question ("Do you want to install OpenOffice.org 2.0?"). If the user clicks "Yes" the 7-Zip installer will automatically extract the contents to the Temp directory and run the file specified in the (3-line) script. When the installation is finished, 7-Zip then removes the files from the Temp directory. Also, if there is a problem with a firewall refusing executable files, simply renaming the 7-Zip installer with a 7z extension will allow the file to be extracted with any archive utility that supports 7z. Just my .02! Thanks for making such a wonderful office suite for us picky users!
Please have a look.
pjanik had a look and doesn't understand it at all. -> back to gregmiller: provide better description. What is wrong? Do you think that NSIS is wrong and you need something simpler?
.
Simply put, the current setup routine requires 2 installations. First, you must run the NSIS installer and provide a path for the files to extract to - then, the actual (InstallShield?) installer runs. This adds several unnecessary screens to the installation process, and requests a path for extraction. This is not the behavior that most Windows users expect. The installer should be a single file, that when exectued, self-extracts to the Windows TEMP path, runs the install routine from the TEMP path, then deletes the extracted files from the TEMP path. The current system does not work this way. When I used this setup routine, it left the installer files extracted on my hard drive - this is unexpected behavior in Windows (not to mention it is a little sloppy). Also, asking for a path to place the extracted files will confuse many Windows users - use the TEMP path and do not confuse people with the details. I could supply an example (OOo msi in 7-Zip wrapper) using the most current build, if anyone is interested. Sorry if this seems petty, but as someone who has been fighting for adoption of OOo for years (including providing free CD's with OOo at my local Community College), I hope that the installer will be as intuitive and platform-centric as possible to keep from scaring people off right from the start... Thanks!
gregmiller: please have a look at my comments at #i49861#. Your expectations are in direct contrast of expectations described by Installation team. I agree with you in at least one fact: leaving unpacked installation on the disk is nonsense. If Windows users are used to that, they simply need to think more while using their machines ;-) Reassigning to Ingo.
Is this some sort of joke??? Has anyone who posted in issue 49861 ever used Windows??? This is not the way software is installed on Windows. If OOo is ever going to be successful in the mainstream, it must provide a comfortable, familiar experience to Windows users. With all of the work done to the core program for v2.0 to make it more friendly, why are we messing up the installer? If the major reason for copying a bunch of (essentially) useless garbage to the users HD is for repair reasons, get rid of the repair option! I do not know any Windows users who repair their software, anyway. Most Windows users uninstall and reinstall - it is the Windows way of life :)! If you call any software vendor (including MS) for support, the most frequent response is uninstall and reinstall - Windows users are accustomed to this. I have installed almost every development release offered over the past year, and never had a problem with uninstalling when the package was no longer available (I always install from a share on one of my servers). Get rid of the ~80 MB of installer garbage, get rid of the repair option, and get rid of the extra steps in the installer. Make this process as stupid simple as humanly possible - remember that the average Windows user is not very computer literate. Most Windows users use their PCs for Web browsing, email, and drafting the occasional document. Most Windows users will be turned off by this new NSIS install process. BTW - If anyone actually tried to download ~80 MB worth of OOo via dialup (I do not believe that this is the norm), they would likely be intelligent enough to not delete the downloaded file that took them 3 days to get! That said, if the average user spent 3 days downloading a file, tried installing it, and got confused by the installation, they may never give OOo a fair chance. Thanks!
What will this argument tell us: "Most Windows users uninstall and reinstall - it is the Windows way of life :)!" This argument can be used to end up with OOo on Windows: 'Most Windows users use MS-Office so why ....'
Exactly!!! Most Windows users *DO* use MS Office. Most PC users use Windows. This is the current PC landscape, period (will Vista and DRM change that???). The UI designers of OOo 2.0 definitely had this in mind because the UI improvements/integration on Windows are amazing! I have been using and spreading the word about OOo since the SO 5.2 days. This is the first release, however, that not only works as well as MS office, but also looks as good as well (no longer the ugly duckling)! For all of the effort that has been poured into OOo to make it on par (or better) with the finest products on the market, none of it matters if the installation process sucks! The most important part of spreading OOo is making sure that it is at least as easy (if not easier) to install than MS Office. The installer is the very first thing a user will see, and they may not give OOo a fair shake if they dislike the installation process. Just look, for instance, at two popular tax applications (in the US) - Quicken TurboTax and Kiplingers TaxCut. Both apps do almost the same thing, in almost the same way. For years, Quicken TurboTax was the defacto standard - that is, until Quicken started installing all kinds of other junk that the user did not want and requiring product activation. All of a sudden, Quicken TurboTax lost huge market share, and the previously hard to find TaxCut was available everywhere... The installer must be brain-dead simple!!! There is a reason why almost every other Windows application installs the way they do - its what the users expect. Users definitely will not expect install packages to be extracted to their Desktop (who actually thought that was a good idea?). If preserving the repair option is so important, the installer files should be stored in a separate directory under OOo - not in a location where they are likely to be deleted, and will anger most users ("What is this junk that OOo put on my Desktop???"). I guess the most disappointing part of all of this for me is the fact that OOo now has a beautiful InstallShield style .msi installer that resembles every other installer out there and really looks professional - but its wrapped up into a single file mess! If preserving the installer package on the PC is absolutely a must (why?), change the NSIS script to just copy the installer package to the OOo directory (ex. C:\Program Files\OpenOffice.org\Install). Do not prompt the user for a path - the main installer only requests a path when performing a Custom install! A nice thing to do would be to replace the screen that requests a path with a screen with a check box that allows users to automatically remove the extra ~80 MB of installer files (with a caveat) at the completion of an install. Another really cool feature that the NSIS installer could have is the ability to check for a JAVA Runtime, and download and install one on demand (maybe this already exists - I always install JAVA first...). Abiwords plugins installer (also NSIS) works this way - it downloads what you need as you install. This way, a user could install the current JAVA as part of the OOo installation (if they choose to), and the installation process would be simpler and more transparent to the user. Thanks!
This installer indeed makes thinks complicated. Isn't NSIS supposed to provide a simple, intuitive installation process, instead of an installer package that unpacks itself 3-4 times? The way it is used here blatantly contradicts it's purpose. Why use NSIS only to unpack into a temp dir and then launch ... installshield ... Why not have NSIS handle the entire installation process ? (I just took the survey I was directed to by the registration app. There there was a question with one of the possible answers being "it's not Microsoft". I don't want to start a flamewar, but ... please) The user is asked first for a directory where to "unpack temporary files". 1) why can't the installer just get the system TEMPDIR, create a directory there (some random name, whatever), and unpack there? 2) why won't it remove these "temporary files" ? 3) straightforward, intuitive installation flow, and reflex, will make most users click next and believe that is where openoffice installs itself. (though an experienced user, i almost made this same mistake, if it weren't for the fact that i don't have enough space on C: ...)
"1) why can't the installer just get the system TEMPDIR, create a directory there (some random name, whatever), and unpack there? 2) why won't it remove these "temporary files" ?" These files are *not* temporary and are needed for the maintainance of OOo. Therefore these files are not allowed to be removed.
Please keep in mind that for distribution software on a Windows network, getting access to the plain MSI files is *A MUST*. Anything else is just a pain in the ass. Looking at the fact that we currently don't have a transformation wizard for OOo, but only for SO8 (on the enterprise CD), network installation doesn't make much fun at the moment. But if getting the plain MSIs will get harder (i.e. running installer and then getting the MSIs out of the temp directory), this is no option. At least, please offer a ZIP download so one could get the MSI packages.
Currently nsis supports the following parameter: /S : Silent installation /D=<path> : NSIS installation directory (must be the last option!) /EXTRACTONLY=ON : NSIS only extracts the installation set /INSTALLLOCATION=<path> : installation directory /POSTREMOVE=ON : Removes the unpacked installation set after installation /HELP=ON : Shows the help This solves the problems of unavailable msi databases or remaining installation sets. But I assume, that this is not exactly provides the easy installation that is asked for. For OOo 2.2 we can introduce for example zip or a selfextracting exe-file as additional download packaging format to offer easier access to the msi database. Then everyone can decide, what he wants to do with the unzipped files. A program that removes the msi installation set after successful installation automatically without providing information for the user about this is inacceptable, since the maintenance mode would be offered in "Control Panel" but would not work.
OK, the command line switches are somewhat useful for us admins - however, I don't expect to be instructing Grandma how to install OOo with command line switches anytime soon! I understand the need for an msi package. I understand the need to re-wrap this msi package for download. I understand that the OOo community has decided to include unnecessary but useful repair mechanisms (thereby bloating the install). I don't understand why "critical" OOo files are placed on the user's Desktop by default (who came up with this idea???). The way I install OOo is by first creating a "C:\Program Files\OpenOffice.org\Setup" directory. I then instruct the NSIS installer to dump everything there. In the msi portion of the installer, I choose a custom install and remove the version number from the install path (normal users do not have multiple versions of the same software on the same PC, but they do frequently have shortcuts to their software which break when paths change). Would it be possible to select the path you wish to use for installation in the NSIS portion of the installer (with a sane default), and then pass that info into the msi portion of the installer so that everything is installed where you want it (and you only have to choose a path once)? Thanks!
"I don't understand why "critical" OOo files are placed on the user's Desktop by default (who came up with this idea???)." It's for 'your Grandma' because there they are easy to find. It's unusual to have the installation sources in the install destination.
Really??? Unusual??? So, putting install sources on the user's Desktop sounds normal to you??? Seems to me that Windows install sources go in the Windows directory. Some Installshield install sources go in the "Program Files\Installshield" directory. Most other Windows programs include an uninstaller exe directly in that program's directory. Only OpenOffice copies install sources to the Desktop!!! This is a poor design because most Windows users click, click, click through installers without reading anything or paying attention to what they are doing (muscle memory). After all, most programs that run on Windows are set up to install a reasonable set of features to a reasonable place. In the end, they will end up with an OpenOffice directory cluttering their Desktop. This directory is then very likely to be deleted (or if not, it will probably irritate most users). There is no need for the average user to EVER "find" the install sources. Furthermore, an average user would not know what to do with them even after he/she found them! If a user wishes to uninstall (or repair) a program, he/she will open the Add/Remove Programs control panel and click on a button (believe it or not, most Windows users do not "make install" or "rpm -ivh" their software, either). OOo has already gone so far towards being a good citizen on Windows (looks like a normal Windows app, behaves like a normal Windows app, installs to the Program Files directory instead of the root like SO 5.2 did, allows users to adjust MS Office file associations, Windows style installer, etc.) - I just don't know why we are taking a step backwards with this installer by doing something highly unusual in the Windows world (and something very noticably strange to the user). I think the worst part of this is that the OOo experience will feel "different" than other Windows programs before the program itself is ever launched. I believe it is a mistake to have this as OOo's first impression.
Greg, please do not mix up the installation mechanism with the problem of the download installation sets for OOo. OOo installation sets on CD do not have this problem. We use nsis only, because we want to minimize the download size and simplify the unpack mechanism. Therefore the installation set is wrapped into the nsis installer. On Unix platforms we simply create tar.gz files. The user has to know, how to unpack a tar.gz file. Therefore it would be comparable to use zip or selfextracting exe-files on Windows, too. Then the user could unpack this files and would be responsible for the unpacked installation set. That is, what I proposed to do. I think it is not a good idea, to put the directory selection dialog into the nsis part of the installer. Then you would see it twice, because we do not want to make a silent installation with the Windows installer. Additionally nsis would not only be a wrapper. I want to avoid, to add further functionality into the nsis installer.
Why multiple separate installation methods? Why not one good, all-purpose, coherent method that presents a user with a predictable installation regardless of the distribution medium? I was not sure how the Installshield setup worked. I figured that it may be possible to pass the path from NSIS to Installshield. I understand and completely agree with your reasoning for keeping NSIS "simple". The idea of creating a self-extracitng zip is a good one (essentially what I originally proposed). In my opinion, the best way to handle this is to have a self-extracting zip installer. You could open the program in a zip file utility to extract the msi if you want, or you could simply run the exe which would extract the contents and automatically execute the msi. To make things really clean and simple for the user, first extract everything temporarily to the Temp directory. Launch the msi file from there. As part of the msi installation process, copy the install sources to the directory specified in the msi installer (final OOo installation directory). At the end of the installation, the extracted files are automatically removed from the temp directory (7-Zip does this automatically when you create/run an install package - WinZip might have this capability too). If the msi file is unable to copy the install files from the Temp directory to the path specified (I don't know - I never worked with Installshield), a reasonable alternative would be to extract the install files to a sensible path like "C:\Program Files\Common Files\OpenOffice Installer" (without prompting the user - once again, gurus could simply upack the install files themselves and put the files anywhere they want). This would still allow the installer to be simplified, while copying the installation package to a place that makes sense. This method would run equally well from CD or web. It would provide an easy way to get at the msi file. It wouldn't leave anything strange on the user's PC. It would also not require any user intervention outside of the msi installation. This sort of scenario would be like most other installation programs on Windows - click on the file with the Computer and Software Box icon, watch the little progress bar as the installer extracts, start the installation, agree to the license without even reading it, etc. I used to distribute OOo 1.x at my local college on CD in this manner. Since the old installer had many, many files to it and was distributed in zip form, I simplified things by wrapping everything into a 7-Zip installer. The user could then simply double-click on a single file (without sorting through a huge directory of files to find it). The installer would ask "Do you want to install OpenOffice.org?". If the user clicked yes, the installation files were extracted (with a progress bar) to the user's Temp directory and the installer was launched. Upon completion of the install, the files were automatically removed from the Temp directory. I received a lot of good feedback - nobody had any troubles installing the program. I believe a similar method could be used with current versions while still maintaining the necessary installation files for maintenance.
Thank you for this suggestion. Unfortunately it makes no difference, whether you delete the installation set or you remove it to another place. Both kills the maintenance mode (I know, you do not like this maintenance mode ;-) ). During installation process the Windows Installer service saves the information about the source directory in the Windows registry. Therefore you are asked to insert a CD, if your installation was done from a CD. If you move the files after a successful installation to a directory, that the Windows Installer does not know, they ar e useless. So we have to find a place, where we can unpack the files of the installation set and where they can stay for a long time. Additionally they have to be visible, so that everyone who knows what he does, can remove them (for example people who do not like maintenance modes). You also suggested to use your proposed mechanism for installation sets on CD. This is not our intention. Installation sets located on a CD do not have this problem. They do not need NSIS. Please do not increase the problem by adding NSIS to CD installation sets. Using a CD is very simple, because in maintenance mode you are asked to insert the CD. No disc space on your hard disc is required for the original installation set. This task is only relevant for download installation sets.
Not enough time -> shifting target.
Target OOo 3.0
Target 3.x