[Qgis-developer] windows package creation

Jürgen E. Fischer jef at norbit.de
Tue Mar 11 07:38:34 PDT 2014

Hi Matteo,

On Tue, 11. Mar 2014 at 14:05:54 +0100, Matteo Ghetta wrote:
> - given that I want to create a QGIS 2.2 installer I switched on the
>   release-2-2 branch
> - then cd ~/QGIS/ms-windows/osgeo4w and launch ./creatensis.pl
> - at the end of the process, I get an exe package in the ms-windows
>   directory.
> First problem: the package is named QGIS-OSGeo4W-2.3.0-1-Setup-x86_64.exe so
> it seems that, even if I'm on the release_2-2 branch, the script creates a
> master version

Are you positive that your toplevel CMakeLists.txt is unmodified?  Because
that's where creatensis.pl gets the version number from, if you don't explictly
tell it to use something else.  And release-2_2 should have 2.2 and not 2.3.

> - I go further and I launch the ./quickpackege.sh script (editing the version
>   name and other small stuff in the script).

I don't think it is maintained.

> Second problem: after launching the script I get:
> Usage: LicenseData local_file_that_has_license_text | license_lang_string
> Error in macro MUI_PAGE_LICENSE on macroline 21
> Error in script "QGIS-Installer.nsi" on line 232 -- aborting creation
> process

Looks like it isn't ;)   You need to also set the LICENSE_FILE in the makensis
call (see creatensis.pl).

> I found only the documentation of Tim here [0] that is a kind of how-to.
> Maybe in the meanwhile something is changes in the procedure and we should
> update the documentation.

> I think that the creation of a customized package is an awesome chance to
> spread QGIS, but the procedure is a little bit complicated and there is a
> lack of documentation (unless there are docs that I haven't found).

Documentation tends to age and get out of sync. I'd stick with the source, that
at least the most verbose and up-to-date you can get ;)

To create a custom installer I'd take a different approach:  Produce a packages
with package.cmd and put it into the packages directory and run creatensis.pl.

Something like this (looks a little bit complicated to, because it excludes all
original package files and includes the qgis-custom package instead).


export PATH=$PATH:/c/Program\ Files\ \(x86\)/NSIS


if [ ! -f $pkg ]; then
        cmd /c package.cmd $version $binary $package $arch

cmd="perl creatensis.pl -verbose \
        -arch=$arch \
        -binary=1 \
        -version=$version \
        -releasename=$release \

for i in "" "-common" "-server" "-devel" "-grass-plugin" "-globe-plugin" "-oracle-provider"; do
        if [ -f $pkg ]; then
                cp -uv $pkg packages-$arch
                echo $pkg not found.
                exit 1

        cmd="$cmd -exclude=qgis$i $package$i"



Jürgen E. Fischer         norBIT GmbH               Tel. +49-4931-918175-31
Dipl.-Inf. (FH)           Rheinstraße 13            Fax. +49-4931-918175-50
Software Engineer         D-26506 Norden               http://www.norbit.de
QGIS PSC member (RM)      Germany                      IRC: jef on FreeNode                         

norBIT Gesellschaft fuer Unternehmensberatung und Informationssysteme mbH
Rheinstrasse 13, 26506 Norden
GF: Jelto Buurman, HR: Amtsgericht Emden, HRB 5502

More information about the Qgis-developer mailing list