wiki:CreateMSIonUnix
Last modified 3 months ago Last modified on 03/09/12 22:12:42

Create MSI files on Unix

By releasing GeoGebra version 4.0, we introduce MSI files for standard installation for Windows Installer. As we use a Unix-like server, we need special methods.

The main application we use for creating MSI files is WiX (http://en.wikipedia.org/wiki/WiX). WiX is developed by Microsoft as their first open source tool.

WiX is written in C#, so we need to use the Microsoft .NET Framework in order to run it. For that we need the following pieces of software on a modern Unix system:

  • A recent Wine. Version 1.3.22 is known to work properly. To install the latest Wine version under Ubuntu, please read http://www.winehq.org/download/ubuntu (or you can use the deb http://ppa.launchpad.net/ubuntu-wine/ppa/ubuntu natty main APT line in Ubuntu 11.04).
  • winetricks, version 20110429 should work (this should have been automatically installed by installing Wine via the ubuntu-wine PPA repository, see above). The following command line will install the Microsoft .NET Framework: winetricks dotnet20, this command must be entered by the user who will run Wine (i.e., probably this is different from root) inside an X session (i.e., you may want to run this on a remote server by using "ssh -X").

Then download WiX from http://wix.codeplex.com/releases/view/44406 (you need the wix3-binaries.zip file which should be unzipped to an arbitrary "WIXDIR" directory).

Now an MSI file can be created using the source XML file (e.g. GeoGebra.wxs), following the next steps:

  • Running wine $WIXDIR/candle.exe GeoGebra.wxs will create the GeoGebra.wixobj file.
  • Running wine $WIXDIR/light.exe -sval GeoGebra.wixobj will create the GeoGebra.msi file.
  • Testing (by installing under Wine) is possible by running msiexec /i GeoGebra.msi. Uninstalling is possible by entering msiexec /x GeoGebra.msi.