Difference between revisions of "LibreOffice"

From WPKG | Open Source Software Deployment and Distribution
Jump to: navigation, search
(Common Installer Options: changed URL so wiki page takes you to MSI properties section)
(Common Installer Options: Added INSTALLLOCATION and alphabetised list)
Line 22: Line 22:
 
=== Common Installer Options ===
 
=== Common Installer Options ===
  
* REGISTER_ALL_MSO_TYPES - Use LibreOffice as the default application for Microsoft Office file formats
 
 
* ALLUSERS (default=1) - performs a per-user installation or per-machine installation depending on the access privileges of the user
 
* ALLUSERS (default=1) - performs a per-user installation or per-machine installation depending on the access privileges of the user
* ISCHECKFORPRODUCTUPDATE (default=1) - Check for updates
 
 
* CREATEDESKTOPLINK  (default=1) - Create desktop shortcuts
 
* CREATEDESKTOPLINK  (default=1) - Create desktop shortcuts
 +
* INSTALLLOCATION - specify installation directory
 +
* ISCHECKFORPRODUCTUPDATE (default=1) - Check for updates
 +
* REGISTER_ALL_MSO_TYPES - Use LibreOffice as the default application for Microsoft Office file formats
 
* REMOVE - remove specified components
 
* REMOVE - remove specified components
  

Revision as of 20:19, 28 July 2011

LibreOffice is an office suite. It is a fork of OpenOffice, and a replacement of Novell's Go-OO, managed by the Document Foundation. See www.libreoffice.org


Get LibreOffice

Download LibreOffice from www.libreoffice.org/download/

You need the program itself:

  • LibO_3.x.x_Win_x86_install_multi.exe

or

  • LibO_3.x.x_Win_x86_install_all_lang.exe (for uncommon languages)

Additionaly you may want to install the help package for your language, for example:

  • LibO_3.x.x_Win_x86_helppack_en-US.exe 8.6

Dependencies

The Java Runtime Environment is a software prerequiste for LibreOffice, thus is a <depends> of the package.

Dual Installation with OpenOffice

LibreOffice 3.3.2 does not replace previous OpenOffice installations (but LibreOffice 3.3 beta was doing so). Keep this in mind in your package management. You may like to remove OpenOffice before installing LibreOffice.

Common Installer Options

  • ALLUSERS (default=1) - performs a per-user installation or per-machine installation depending on the access privileges of the user
  • CREATEDESKTOPLINK (default=1) - Create desktop shortcuts
  • INSTALLLOCATION - specify installation directory
  • ISCHECKFORPRODUCTUPDATE (default=1) - Check for updates
  • REGISTER_ALL_MSO_TYPES - Use LibreOffice as the default application for Microsoft Office file formats
  • REMOVE - remove specified components

OpenOffice has a wiki page with MSI properties, most of which apply to LibreOffice.

LibreOffice 3.3.x

This is based on the OpenOffice 3.2.1 package script.

Unpack the LibreOffice installer (.exe) and help file installer (.exe) with an archive tool (for example 7-zip, or using the installer itself).

Copy the unpacked files to your server.

If required, for example to change installer options or to remove unnecessary languages, modify the MSI file or create a transform (.mst) file using an MSI editor such as Microsoft ORCA or InstEd. The main interesting sections to configure in the MSI are 'Property' and 'Feature'.


LibreOffice

<package id="libreoffice" name="LibreOffice" revision="3" reboot="false" priority="10">
    <variable name="PKG_VERSION" value="3.3.2" />

    <!-- LibreOffice removed main programs from full install -->
    <variable name="REMOVEPROGS" value="gm_p_Base,gm_p_Base_Bin,gm_p_Math,gm_p_Math_Bin" />
    <!-- LibreOffice removed options from full install -->
    <variable name="REMOVEOPTIONS" value="gm_o_Testtool,gm_o_Xsltfiltersamples,gm_o_Pyuno,gm_o_jf_Palm,gm_o_jf_Pocketpc,gm_o_Quickstart,gm_o_Extensions_PRESENTER_SCREEN,gm_o_Extensions_REPORTDESIGN,gm_o_Extensions_MEDIAWIKI" />
    <!-- Company Name option -->
    <variable name="CNAME" value="Our Company" />

    <!-- Some LibreOffice functionalities depends on Java -->
    <depends package-id="java" />

    <check type="uninstall" condition="versiongreaterorequal" path="LibreOffice .+" value="%PKG_VERSION%" />

    <install cmd='msiexec /qn /I "%SOFTWARE%\LibreOffice\LibO_%PKG_VERSION%_Win_x86_install_multi\libreoffice33.msi" COMPANYNAME="%CNAME%" USERNAME="" ISCHECKFORPRODUCTUPDATE=0 CREATEDESKTOPLINK=0 ADDLOCAL=ALL REMOVE=%REMOVEPROGS%,%REMOVEOPTIONS%' />

    <upgrade cmd='msiexec /qn /I "%SOFTWARE%\LibreOffice\LibO_%PKG_VERSION%_Win_x86_install_multi\libreoffice33.msi" COMPANYNAME="%CNAME%" USERNAME="" ISCHECKFORPRODUCTUPDATE=0 CREATEDESKTOPLINK=0 ADDLOCAL=ALL REMOVE=%REMOVEPROGS%,%REMOVEOPTIONS%' />
    
    <remove cmd='msiexec /qn /X "%SOFTWARE%\LibreOffice\LibO_%PKG_VERSION%_Win_x86_install_multi\libreoffice33.msi"' />
    
</package>


LibreOffice Help Pack

<package id="libreoffice_help" name="LibreOffice Help Pack" revision="2" reboot="false" priority="10">
    <variable name="PKG_VERSION" value="3.3.2" />
    <variable name="INS_VERSION" value="3.3" />
    <variable name="SHORT_LANG" value="cs" />
    <variable name="LANG" value="Czech" />

    <depends package-id="libreoffice" />

    <check type="uninstall" condition="exists" path="LibreOffice %INS_VERSION% Help Pack (%LANG%)" />

    <install cmd='msiexec /qn /I "%SOFTWARE%\LibreOffice\LibO_%PKG_VERSION%_Win_x86_helppack_%SHORT_LANG%\libreoffice33.msi"' />
   
    <upgrade cmd='msiexec /qn /I "%SOFTWARE%\LibreOffice\LibO_%PKG_VERSION%_Win_x86_helppack_%SHORT_LANG%\libreoffice33.msi"' />

    <remove cmd='msiexec /qn /X "%SOFTWARE%\LibreOffice\LibO_%PKG_VERSION%_Win_x86_helppack_%SHORT_LANG%\libreoffice33.msi"' />

</package>

Note: For the <remove> tag I have used the .msi file itself to get rid of the fact that the uninstall strings in HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall are language dependent. But this requires you to keep the .msi file on the server for removing software. You may prefer to use remove strings such as:

<!-- language dependent msiexec remove strings (here the czech ones) -->
<remove cmd='msiexec /qn /X{CEE2613D-3B53-4447-BA2D-E88C08272581}' />
<remove cmd='msiexec /qn /X{04A88043-281E-4E32-B878-343B51F56F2E}' />

You will have to use the string relevant to your language. These strings are held in setup.ini, under 'productcode'.