annotate makeinst-script.sh @ 4066:0962acdde3be

builld: allow out of source build * Makefile.in: add TOP_BUILD_DIR var and use TOP_DIR=srcdir, TOP_BUILD_DIR=builddir, modify paths to use TOP_DIR where needed * binary-dist-rules.mk: use TOP_DIR and TOP_BUILD_DIR where needed * makeinst-script.sh: use script path to determine TOPDIR, use TOPDIR where needed * src/default-octave.mk: install octave-version to builddir * src/stable-octave.mk: install octave-version to builddir * src/octave.mk: install octave-version to builddir * tools/set-mxe-env.sh.in: update fir builddir and srcdir use
author John Donoghue
date Wed, 23 Dec 2015 08:11:04 -0500
parents 8803dfa40236
children 423925d2c032
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
1 #! /bin/bash
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
2 set -e
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
3
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
4 if [ $# != 2 ]; then
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
5 echo "usage: makeinst-script.sh dist-dir output-script-name" 1>&2
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
6 exit 1
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
7 fi
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
8
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
9 OUTFILE="$2"
4066
0962acdde3be builld: allow out of source build
John Donoghue
parents: 4028
diff changeset
10 TOPDIR=`dirname $0`
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
11 OCTAVE_SOURCE=`basename $1`
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
12
4066
0962acdde3be builld: allow out of source build
John Donoghue
parents: 4028
diff changeset
13 cd `dirname $1`
3384
0de28586712a installer: Change gui shortcut path to libexec installed path
John Donoghue <john.donoghue@ieee.org>
parents: 3367
diff changeset
14 MXEDIR=`cd ..; pwd`
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
15
3570
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
16 if [ -e $OCTAVE_SOURCE/bin/libopenblas.dll ]; then
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
17 DEFAULT_BLAS="OpenBLAS"
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
18 else
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
19 DEFAULT_BLAS="Reference BLAS"
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
20 fi
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
21
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
22
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
23 # find octave shortcut icon
3760
1f870f80ed71 makeinst-script: add \n to found icon file list (Bug #43909)
John Donoghue <john.donoghue@ieee.org>
parents: 3757
diff changeset
24 ICON=`find $OCTAVE_SOURCE -name octave-logo.ico -printf "%P\n" | head -1 | sed 's,/,\\\\,g'`
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
25
3366
ab6116aa1039 installer: update mk-dist to use make-installer installer file name and use octave-version
John Donoghue <john.donoghue@ieee.org>
parents: 3364
diff changeset
26 # extract version number
3384
0de28586712a installer: Change gui shortcut path to libexec installed path
John Donoghue <john.donoghue@ieee.org>
parents: 3367
diff changeset
27 OCTAVE_VERSION=`head -1 $MXEDIR/octave/octave-version`
0de28586712a installer: Change gui shortcut path to libexec installed path
John Donoghue <john.donoghue@ieee.org>
parents: 3367
diff changeset
28 VERSION=`echo $OCTAVE_VERSION | sed -n 's,\([0-9\.]*\).*,\1,p'`
3366
ab6116aa1039 installer: update mk-dist to use make-installer installer file name and use octave-version
John Donoghue <john.donoghue@ieee.org>
parents: 3364
diff changeset
29
3818
9b033c5323db nsis installer: expand uninstall information
John Donoghue
parents: 3817
diff changeset
30 # estimated size of installed files
9b033c5323db nsis installer: expand uninstall information
John Donoghue
parents: 3817
diff changeset
31 SIZE=`du -slk $OCTAVE_SOURCE | awk '{print \$1}'`
9b033c5323db nsis installer: expand uninstall information
John Donoghue
parents: 3817
diff changeset
32
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
33 # create installer script
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
34 echo "; octave setup script $OCTAVE_SOURCE" > $OUTFILE
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
35
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
36 # installer settings
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
37 cat >> $OUTFILE << EOF
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
38 !define APP_NAME "GNU Octave"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
39 !define COMP_NAME "GNU Project"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
40 !define WEB_SITE "http://www.octave.org"
3366
ab6116aa1039 installer: update mk-dist to use make-installer installer file name and use octave-version
John Donoghue <john.donoghue@ieee.org>
parents: 3364
diff changeset
41 !define VERSION "$VERSION.0"
ab6116aa1039 installer: update mk-dist to use make-installer installer file name and use octave-version
John Donoghue <john.donoghue@ieee.org>
parents: 3364
diff changeset
42 !define OCTAVE_VERSION "$OCTAVE_VERSION"
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
43 !define COPYRIGHT "Copyright © 2013 John W. Eaton and others."
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
44 !define DESCRIPTION "GNU Octave is a high-level programming language, primarily intended for numerical computations."
4066
0962acdde3be builld: allow out of source build
John Donoghue
parents: 4028
diff changeset
45 !define INSTALLER_FILES "$TOPDIR/installer-files"
3387
0779856e1186 Add desktop shortcut and octave-versionxxxxx-installer.exe naming.
John Donoghue <john.donoghue@ieee.org>
parents: 3384
diff changeset
46 !define INSTALLER_NAME "octave-$OCTAVE_VERSION-installer.exe"
4028
8803dfa40236 nsis installer: set directory to userprofile on startof octave from installer (Bug #45899)
John Donoghue
parents: 3963
diff changeset
47 !define MAIN_APP_EXE "octave-firsttime.vbs"
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
48 !define INSTALL_TYPE "SetShellVarContext current"
3358
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
49 !define PRODUCT_ROOT_KEY "HKLM"
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
50 !define PRODUCT_KEY "Software\\Octave-$VERSION"
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
51
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
52 ######################################################################
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
53
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
54 VIProductVersion "\${VERSION}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
55 VIAddVersionKey "ProductName" "\${APP_NAME}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
56 VIAddVersionKey "CompanyName" "\${COMP_NAME}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
57 VIAddVersionKey "LegalCopyright" "\${COPYRIGHT}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
58 VIAddVersionKey "FileDescription" "\${DESCRIPTION}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
59 VIAddVersionKey "FileVersion" "\${VERSION}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
60
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
61 ######################################################################
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
62
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
63 SetCompressor /SOLID Lzma
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
64 Name "\${APP_NAME}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
65 Caption "\${APP_NAME}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
66 OutFile "\${INSTALLER_NAME}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
67 BrandingText "\${APP_NAME}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
68 XPStyle on
3361
9781db518638 makeinst-script.sh: Remove whitespace from installation path and add version number in default installation directory
Anirudha Bose <ani07nov@gmail.com>
parents: 3360
diff changeset
69 InstallDir "C:\\Octave\\Octave-\${OCTAVE_VERSION}"
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
70 Icon "\${INSTALLER_FILES}/octave-logo.ico"
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
71
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
72 ######################################################################
3409
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
73 ; StrFunc usage
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
74 !include "StrFunc.nsh"
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
75 \${StrRep}
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
76 ######################################################################
3363
b89f15801606 Added Octave images in welcome page, headers, and finish page of installer.
Anirudha Bose <ani07nov@gmail.com>
parents: 3362
diff changeset
77 ; MUI settings
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
78 !include "MUI.nsh"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
79
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
80 ; custom dialogs
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
81 !include nsDialogs.nsh
3471
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
82 !macro __DropList_GetCurSel CONTROL VAR
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
83 SendMessage \${CONTROL} \${CB_GETCURSEL} 0 0 \${VAR}
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
84 !macroend
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
85
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
86 !define DropList_GetCurSel \`!insertmacro __DropList_GetCurSel\`
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
87
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
88 ; additional logic
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
89 !include LogicLib.nsh
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
90
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
91
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
92 !define MUI_ABORTWARNING
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
93 !define MUI_UNABORTWARNING
3363
b89f15801606 Added Octave images in welcome page, headers, and finish page of installer.
Anirudha Bose <ani07nov@gmail.com>
parents: 3362
diff changeset
94 !define MUI_HEADERIMAGE
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
95
3363
b89f15801606 Added Octave images in welcome page, headers, and finish page of installer.
Anirudha Bose <ani07nov@gmail.com>
parents: 3362
diff changeset
96 ; Theme
b89f15801606 Added Octave images in welcome page, headers, and finish page of installer.
Anirudha Bose <ani07nov@gmail.com>
parents: 3362
diff changeset
97 !define MUI_ICON "\${INSTALLER_FILES}/octave-logo.ico"
b89f15801606 Added Octave images in welcome page, headers, and finish page of installer.
Anirudha Bose <ani07nov@gmail.com>
parents: 3362
diff changeset
98 !define MUI_UNICON "./${OCTAVE_SOURCE}/share/nsis/Contrib/Graphics/Icons/orange-uninstall.ico"
b89f15801606 Added Octave images in welcome page, headers, and finish page of installer.
Anirudha Bose <ani07nov@gmail.com>
parents: 3362
diff changeset
99 !define MUI_HEADERIMAGE_BITMAP "\${INSTALLER_FILES}/octave-hdr.bmp"
b89f15801606 Added Octave images in welcome page, headers, and finish page of installer.
Anirudha Bose <ani07nov@gmail.com>
parents: 3362
diff changeset
100 !define MUI_WELCOMEFINISHPAGE_BITMAP "\${INSTALLER_FILES}/octave.bmp"
b89f15801606 Added Octave images in welcome page, headers, and finish page of installer.
Anirudha Bose <ani07nov@gmail.com>
parents: 3362
diff changeset
101
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
102 !insertmacro MUI_PAGE_WELCOME
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
103
3360
cbaab92e1174 makeinst-script.sh: Removed 'I Agree' in GPL license page
Anirudha Bose <ani07nov@gmail.com>
parents: 3359
diff changeset
104 !define MUI_LICENSEPAGE_TEXT_BOTTOM "The source code for Octave is freely redistributable under the terms of the GNU General Public License (GPL) as published by the Free Software Foundation."
cbaab92e1174 makeinst-script.sh: Removed 'I Agree' in GPL license page
Anirudha Bose <ani07nov@gmail.com>
parents: 3359
diff changeset
105 !define MUI_LICENSEPAGE_BUTTON "Next >"
3363
b89f15801606 Added Octave images in welcome page, headers, and finish page of installer.
Anirudha Bose <ani07nov@gmail.com>
parents: 3362
diff changeset
106 !insertmacro MUI_PAGE_LICENSE "\${INSTALLER_FILES}/gpl-3.0.txt"
3356
2e44e8f86cd6 makeinst-script.sh: add license page with GPLv3
Anirudha Bose <ani07nov@gmail.com>
parents: 3355
diff changeset
107
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
108 Page custom octaveOptionsPage octaveOptionsLeave
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
109
3728
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
110 !define MUI_PAGE_CUSTOMFUNCTION_LEAVE CheckPrevInstallAndDest
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
111 !insertmacro MUI_PAGE_DIRECTORY
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
112
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
113 !insertmacro MUI_PAGE_INSTFILES
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
114
3757
7a6637aa3aae installer: ran octave through explorer when running at end of install (Bug 43824)
John Donoghue
parents: 3728
diff changeset
115 !define MUI_FINISHPAGE_RUN "\$WINDIR\\explorer.exe"
7a6637aa3aae installer: ran octave through explorer when running at end of install (Bug 43824)
John Donoghue
parents: 3728
diff changeset
116 !define MUI_FINISHPAGE_RUN_PARAMETERS "\$INSTDIR\\\${MAIN_APP_EXE}"
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
117 !define MUI_FINISHPAGE_SHOWREADME "\$INSTDIR\\README.html"
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
118 !insertmacro MUI_PAGE_FINISH
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
119
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
120 !insertmacro MUI_UNPAGE_CONFIRM
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
121
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
122 !insertmacro MUI_UNPAGE_INSTFILES
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
123
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
124 !insertmacro MUI_UNPAGE_FINISH
3331
71171ba8bebd Update installer script for admin level and single icon file
John Donoghue <john.donoghue@ieee.org>
parents: 3010
diff changeset
125
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
126 !insertmacro MUI_LANGUAGE "English"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
127
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
128 ######################################################################
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
129
3331
71171ba8bebd Update installer script for admin level and single icon file
John Donoghue <john.donoghue@ieee.org>
parents: 3010
diff changeset
130 RequestExecutionLevel admin
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
131
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
132 ######################################################################
3552
b82ff8ba6a8a nsis-installer: check for win8 version and set -i --line-editing in shortcuts
John Donoghue <john.donoghue@ieee.org>
parents: 3545
diff changeset
133 ; Win 8 detection
b82ff8ba6a8a nsis-installer: check for win8 version and set -i --line-editing in shortcuts
John Donoghue <john.donoghue@ieee.org>
parents: 3545
diff changeset
134 Var IsWin8
b82ff8ba6a8a nsis-installer: check for win8 version and set -i --line-editing in shortcuts
John Donoghue <john.donoghue@ieee.org>
parents: 3545
diff changeset
135
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
136 ; custom options page functions
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
137
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
138 Var InstallAllUsers
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
139 Var InstallAllUsersCtrl
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
140 Var InstallShortcuts
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
141 Var InstallShortcutsCtrl
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
142 Var RegisterOctaveFileType
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
143 Var RegisterOctaveFileTypeCtrl
3471
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
144 Var InstallBlasLibCtrl
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
145 Var InstallBlasLib
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
146
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
147 Function octaveOptionsPage
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
148 Push \$0
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
149 nsDialogs::Create 1018
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
150 Pop \$0
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
151
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
152 \${If} \$0 == error
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
153 Abort
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
154 \${EndIf}
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
155
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
156 \${NSD_CreateCheckBox} 0 0 100% 12u "Install for all users"
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
157 Pop \$InstallAllUsersCtrl
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
158 \${NSD_SetState} \$InstallAllUsersCtrl \${BST_CHECKED}
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
159
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
160 \${NSD_CreateCheckBox} 0 20 100% 12u "Create desktop shortcuts"
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
161 Pop \$InstallShortcutsCtrl
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
162 \${NSD_SetState} \$InstallShortcutsCtrl \${BST_CHECKED}
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
163
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
164 \${NSD_CreateCheckBox} 0 40 100% 12u "Register .m file type with Octave"
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
165 Pop \$RegisterOctaveFileTypeCtrl
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
166 \${NSD_SetState} \$RegisterOctaveFileTypeCtrl \${BST_CHECKED}
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
167
3471
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
168 \${NSD_CreateLabel} 0 70 110u 12u "BLAS library implementation:"
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
169 Pop \$0
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
170
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
171 \${NSD_CreateDropList} 120u 70 100u 80u ""
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
172 Pop \$InstallBlasLibCtrl
3545
c21ca79d7980 Remove ENABLE_OPEN_BLAS from .mk files and use just to add openblass to the distribution
John Donoghue
parents: 3471
diff changeset
173 EOF
c21ca79d7980 Remove ENABLE_OPEN_BLAS from .mk files and use just to add openblass to the distribution
John Donoghue
parents: 3471
diff changeset
174 # add option to install libopenblas if we have the dll present
c21ca79d7980 Remove ENABLE_OPEN_BLAS from .mk files and use just to add openblass to the distribution
John Donoghue
parents: 3471
diff changeset
175 if [ -e $OCTAVE_SOURCE/bin/libopenblas.dll ]; then
c21ca79d7980 Remove ENABLE_OPEN_BLAS from .mk files and use just to add openblass to the distribution
John Donoghue
parents: 3471
diff changeset
176 cat >> $OUTFILE << EOF
3471
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
177 \${NSD_CB_AddString} \$InstallBlasLibCtrl "OpenBLAS"
3545
c21ca79d7980 Remove ENABLE_OPEN_BLAS from .mk files and use just to add openblass to the distribution
John Donoghue
parents: 3471
diff changeset
178 EOF
c21ca79d7980 Remove ENABLE_OPEN_BLAS from .mk files and use just to add openblass to the distribution
John Donoghue
parents: 3471
diff changeset
179 fi
c21ca79d7980 Remove ENABLE_OPEN_BLAS from .mk files and use just to add openblass to the distribution
John Donoghue
parents: 3471
diff changeset
180 cat >> $OUTFILE << EOF
3570
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
181 \${NSD_CB_AddString} \$InstallBlasLibCtrl "Reference BLAS"
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
182 EOF
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
183
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
184 cat >> $OUTFILE << EOF
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
185 \${NSD_CB_SelectString} \$InstallBlasLibCtrl "$DEFAULT_BLAS"
3471
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
186
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
187 !insertmacro MUI_HEADER_TEXT "Install Options" "Choose options for installing"
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
188 nsDialogs::Show
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
189 Pop \$0
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
190 FunctionEnd
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
191
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
192 Function octaveOptionsLeave
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
193 \${NSD_GetState} \$InstallAllUsersCtrl \$InstallAllUsers
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
194 \${NSD_GetState} \$InstallShortcutsCtrl \$InstallShortcuts
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
195 \${NSD_GetState} \$RegisterOctaveFileTypeCtrl \$RegisterOctaveFileType
3471
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
196 \${DropList_GetCurSel} \$InstallBlasLibCtrl \$InstallBlasLib
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
197 FunctionEnd
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
198
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
199 ######################################################################
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
200
3358
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
201 Function .onInit
3362
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
202 Call DetectWinVer
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
203 Call CheckCurrVersion
3358
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
204 Call CheckJRE
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
205 InitPluginsDir
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
206 FunctionEnd
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
207
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
208 ; file section
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
209 Section "MainFiles"
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
210
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
211 ; set context based on whether installing for user or all
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
212 \${If} \$InstallAllUsers == \${BST_CHECKED}
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
213 SetShellVarContext all
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
214 \${Else}
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
215 SetShellVarContext current
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
216 \${Endif}
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
217
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
218 ; include the README
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
219 SetOutPath "\$INSTDIR"
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
220 File "$OCTAVE_SOURCE/README.html"
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
221
3717
70480095b6ed Use a bat file to run octave in windows (Bug #43164)
John Donoghue
parents: 3686
diff changeset
222 ; include the octave.bat file
70480095b6ed Use a bat file to run octave in windows (Bug #43164)
John Donoghue
parents: 3686
diff changeset
223 SetOutPath "\$INSTDIR"
70480095b6ed Use a bat file to run octave in windows (Bug #43164)
John Donoghue
parents: 3686
diff changeset
224 File "$OCTAVE_SOURCE/octave.bat"
3817
6daa158a7018 nsis installer: use octave.vbs as laucher (Bug #41074)
John Donoghue <john.donoghue@ieee.org>
parents: 3784
diff changeset
225 File "$OCTAVE_SOURCE/octave.vbs"
4028
8803dfa40236 nsis installer: set directory to userprofile on startof octave from installer (Bug #45899)
John Donoghue
parents: 3963
diff changeset
226 File "$OCTAVE_SOURCE/octave-firsttime.vbs"
3717
70480095b6ed Use a bat file to run octave in windows (Bug #43164)
John Donoghue
parents: 3686
diff changeset
227
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
228 ; distro files
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
229 EOF
3963
9d402d735dd1 nsis-installer: add bash window menu if devel tools enabled
John Donoghue
parents: 3956
diff changeset
230 if [ -f $OCTAVE_SOURCE/cmdshell.bat ]; then
9d402d735dd1 nsis-installer: add bash window menu if devel tools enabled
John Donoghue
parents: 3956
diff changeset
231 echo "File '$OCTAVE_SOURCE/cmdshell.bat'" >> $OUTFILE
9d402d735dd1 nsis-installer: add bash window menu if devel tools enabled
John Donoghue
parents: 3956
diff changeset
232 fi
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
233
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
234 # insert the files
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
235 IFS=$'\n'
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
236 for f in $(find $OCTAVE_SOURCE -type d -printf "%P\n"); do
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
237 winf=`echo $f | sed 's,/,\\\\,g'`
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
238 echo " CreateDirectory \"\$INSTDIR\\$winf\"" >> $OUTFILE
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
239 echo " SetOutPath \"\$INSTDIR\\$winf\"" >> $OUTFILE
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
240 find "$OCTAVE_SOURCE/$f" -maxdepth 1 -type f -printf " File \"%p\"\n" >> $OUTFILE
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
241 done
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
242
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
243 cat >> $OUTFILE << EOF
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
244
3409
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
245 ; add qt.conf
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
246 Push \$0
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
247 \${StrRep} '\$0' '\$INSTDIR' '\\' '/'
3423
c8e055d83b9f Set start directory to user home (Bug #41220)
John D <john.donoghue@ieee.org>
parents: 3422
diff changeset
248 WriteINIStr "\$INSTDIR\\bin\\qt.conf" "Paths" "Prefix" "\$0"
c8e055d83b9f Set start directory to user home (Bug #41220)
John D <john.donoghue@ieee.org>
parents: 3422
diff changeset
249 WriteINIStr "\$INSTDIR\\bin\\qt.conf" "Paths" "Translations" "translations"
3409
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
250 Pop \$0
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
251 SectionEnd
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
252
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
253 Section make_uninstaller
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
254 ; Write the uninstall keys for Windows
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
255 SetOutPath "\$INSTDIR"
3818
9b033c5323db nsis installer: expand uninstall information
John Donoghue
parents: 3817
diff changeset
256 WriteRegStr HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION" "DisplayName" "Octave $VERSION"
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
257 WriteRegStr HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION" "DisplayVersion" "$VERSION"
3818
9b033c5323db nsis installer: expand uninstall information
John Donoghue
parents: 3817
diff changeset
258 WriteRegStr HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION" "DisplayIcon" "\$INSTDIR\\$ICON"
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
259 WriteRegStr HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION" "UninstallString" "\$INSTDIR\\uninstall.exe"
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
260 WriteRegDWORD HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION" "NoModify" 1
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
261 WriteRegDWORD HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION" "NoRepair" 1
3818
9b033c5323db nsis installer: expand uninstall information
John Donoghue
parents: 3817
diff changeset
262 WriteRegStr HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION" "Publisher" "\${APP_NAME}"
9b033c5323db nsis installer: expand uninstall information
John Donoghue
parents: 3817
diff changeset
263 WriteRegDWORD HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION" "EstimatedSize" $SIZE
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
264 \${If} \$InstallAllUsers == \${BST_CHECKED}
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
265 WriteRegDWORD HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION" "AllUsers" 1
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
266 \${EndIf}
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
267 WriteUninstaller "uninstall.exe"
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
268 SectionEnd
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
269
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
270 ; start menu (currently hardcoded)
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
271 Section "Shortcuts"
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
272
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
273 CreateDirectory "\$SMPROGRAMS\\Octave-$VERSION"
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
274 CreateShortCut "\$SMPROGRAMS\\Octave-$VERSION\\Uninstall.lnk" "\$INSTDIR\\uninstall.exe" "" "\$INSTDIR\\uninstall.exe" 0
3423
c8e055d83b9f Set start directory to user home (Bug #41220)
John D <john.donoghue@ieee.org>
parents: 3422
diff changeset
275 SetOutPath "%USERPROFILE%"
3817
6daa158a7018 nsis installer: use octave.vbs as laucher (Bug #41074)
John Donoghue <john.donoghue@ieee.org>
parents: 3784
diff changeset
276 CreateShortCut "\$SMPROGRAMS\\Octave-$VERSION\\Octave (CLI).lnk" "\$INSTDIR\\octave.vbs" "--no-gui" "\$INSTDIR\\$ICON" 0 SW_SHOWMINIMIZED
6daa158a7018 nsis installer: use octave.vbs as laucher (Bug #41074)
John Donoghue <john.donoghue@ieee.org>
parents: 3784
diff changeset
277 CreateShortCut "\$SMPROGRAMS\\Octave-$VERSION\\Octave (GUI).lnk" "\$INSTDIR\\octave.vbs" "--force-gui" "\$INSTDIR\\$ICON" 0 SW_SHOWMINIMIZED
3384
0de28586712a installer: Change gui shortcut path to libexec installed path
John Donoghue <john.donoghue@ieee.org>
parents: 3367
diff changeset
278 SetOutPath "\$INSTDIR"
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
279 EOF
3963
9d402d735dd1 nsis-installer: add bash window menu if devel tools enabled
John Donoghue
parents: 3956
diff changeset
280 # shortcut for cmd win
9d402d735dd1 nsis-installer: add bash window menu if devel tools enabled
John Donoghue
parents: 3956
diff changeset
281 if [ -f $OCTAVE_SOURCE/cmdshell.bat ]; then
9d402d735dd1 nsis-installer: add bash window menu if devel tools enabled
John Donoghue
parents: 3956
diff changeset
282 echo "CreateShortCut '\$SMPROGRAMS\\Octave-$VERSION\\Bash Shell.lnk' '\$INSTDIR\\cmdshell.bat' '' '' 0" >> $OUTFILE
9d402d735dd1 nsis-installer: add bash window menu if devel tools enabled
John Donoghue
parents: 3956
diff changeset
283 fi
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
284 # if we have documentation files, create shortcuts
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
285 if [ -d $OCTAVE_SOURCE/share/doc/octave ]; then
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
286 cat >> $OUTFILE << EOF
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
287 CreateDirectory "\$SMPROGRAMS\\Octave-$VERSION\\Documentation"
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
288 CreateShortCut "\$SMPROGRAMS\\Octave-$VERSION\\Documentation\\Octave C++ Classes (PDF).lnk" "\$INSTDIR\\share\\doc\\octave\\liboctave.pdf" "" "" 0
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
289 CreateShortCut "\$SMPROGRAMS\\Octave-$VERSION\\Documentation\\Octave C++ Classes (HTML).lnk" "\$INSTDIR\\share\\doc\\octave\\liboctave.html\\index.html" "" "" 0
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
290 CreateShortCut "\$SMPROGRAMS\\Octave-$VERSION\\Documentation\\Octave (PDF).lnk" "\$INSTDIR\\share\\doc\\octave\\octave.pdf" "" "" 0
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
291 CreateShortCut "\$SMPROGRAMS\\Octave-$VERSION\\Documentation\\Octave (HTML).lnk" "\$INSTDIR\\share\\doc\\octave\\octave.html\\index.html" "" "" 0
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
292 EOF
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
293 fi
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
294
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
295 cat >> $OUTFILE << EOF
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
296
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
297 \${If} \$InstallShortcuts == \${BST_CHECKED}
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
298 SetOutPath "%USERPROFILE%"
3817
6daa158a7018 nsis installer: use octave.vbs as laucher (Bug #41074)
John Donoghue <john.donoghue@ieee.org>
parents: 3784
diff changeset
299 CreateShortCut "\$desktop\\Octave-$VERSION (CLI).lnk" "\$INSTDIR\\octave.vbs" "--no-gui" "\$INSTDIR\\$ICON" 0 SW_SHOWMINIMIZED
6daa158a7018 nsis installer: use octave.vbs as laucher (Bug #41074)
John Donoghue <john.donoghue@ieee.org>
parents: 3784
diff changeset
300 CreateShortCut "\$desktop\\Octave-$VERSION (GUI).lnk" "\$INSTDIR\\octave.vbs" "--force-gui" "\$INSTDIR\\$ICON" 0 SW_SHOWMINIMIZED
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
301 \${Endif}
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
302
3471
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
303 ; BLAS set up
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
304 \${If} \$InstallBlasLib == 1
3570
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
305 ; Reference BLAS
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
306 CopyFiles /SILENT "\$INSTDIR\\bin\\librefblas.dll" "\$INSTDIR\\bin\\libblas.dll"
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
307 \${Else}
3471
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
308 ; OpenBLAS
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
309 CopyFiles /SILENT "\$INSTDIR\\bin\\libopenblas.dll" "\$INSTDIR\\bin\\libblas.dll"
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
310 \${EndIf}
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
311
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
312 SectionEnd
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
313
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
314 Section "FileTypeRego"
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
315 ; Octave document
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
316 WriteRegStr HKCR "Octave.Document.$VERSION" "" "GNU Octave Script"
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
317 WriteRegStr HKCR "Octave.Document.$VERSION\\DefaultIcon" "" "\$INSTDIR\\$ICON"
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
318 ; document actions
3831
1191cff7f132 nsis installer: change file registrations to use octave.vbs
John D
parents: 3818
diff changeset
319 WriteRegStr HKCR "Octave.Document.$VERSION\\shell\\open\\command" "" "wscript \$\\"\$INSTDIR\\octave.vbs\$\\" --force-gui --persist --eval \$\\"edit '%1'\$\\""
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
320
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
321 \${If} \$RegisterOctaveFileType == \${BST_CHECKED}
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
322 ReadRegStr \$0 HKCR ".m" ""
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
323 StrCmp "\$0" "" no_back_type
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
324 WriteRegStr HKCR ".m" "backup_val" "\$0"
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
325 no_back_type:
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
326 WriteRegStr HKCR ".m" "" "Octave.Document.$VERSION"
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
327 WriteRegDWORD HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION" "RegisteredFileType" 1
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
328 \${EndIf}
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
329 SectionEnd
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
330
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
331 Section "Uninstall"
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
332
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
333 ReadRegDWORD \$0 HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION" "AllUsers"
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
334 IfErrors not_all_users
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
335
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
336 SetShellVarContext all
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
337
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
338 not_all_users:
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
339 ReadRegDWORD \$0 HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION" "RegisteredFileType"
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
340 IfErrors not_registered_file
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
341
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
342 ReadRegStr \$0 HKCR ".m" "backup_val"
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
343 IfErrors not_backup_file
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
344
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
345 # retore backup
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
346 WriteRegStr HKCR ".m" "" "\$0"
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
347
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
348 DeleteRegValue HKCR ".m" "backup_val"
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
349
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
350 ; dont delete .m if just restored backup
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
351 Goto not_registered_file
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
352 not_backup_file:
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
353 DeleteRegKey HKCR ".m"
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
354
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
355 not_registered_file:
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
356 ; delete file type
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
357 DeleteRegKey HKCR "Octave.Document.$VERSION"
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
358
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
359 DeleteRegKey HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION"
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
360 DeleteRegKey HKLM "Software\\Octave-$VERSION"
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
361
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
362 ; Remove shortcuts
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
363 Delete "\$SMPROGRAMS\\Octave-$VERSION\\Documentation\\*.*"
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
364 RMDir "\$SMPROGRAMS\\Octave-$VERSION\\Documentation"
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
365
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
366 Delete "\$SMPROGRAMS\\Octave-$VERSION\\*.*"
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
367 RMDir "\$SMPROGRAMS\\Octave-$VERSION"
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
368
3784
5796aeaa4df4 Rename Desktop links to get rid of "Experimental" before "GUI"
Rik <rik@octave.org>
parents: 3760
diff changeset
369 Delete "\$desktop\\Octave-$VERSION (CLI).lnk"
5796aeaa4df4 Rename Desktop links to get rid of "Experimental" before "GUI"
Rik <rik@octave.org>
parents: 3760
diff changeset
370 Delete "\$desktop\\Octave-$VERSION (GUI).lnk"
3409
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
371
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
372 ; delete generated qt.conf file
3423
c8e055d83b9f Set start directory to user home (Bug #41220)
John D <john.donoghue@ieee.org>
parents: 3422
diff changeset
373 Delete "\$INSTDIR\\bin\\qt.conf"
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
374 EOF
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
375
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
376 # insert dir list (backwards order) for uninstall files
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
377 for f in $(find $OCTAVE_SOURCE -depth -type d -printf "%P\n"); do
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
378 winf=`echo $f | sed 's,/,\\\\,g'`
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
379 echo " Delete \"\$INSTDIR\\$winf\\*.*\"" >> $OUTFILE
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
380 echo " RmDir \"\$INSTDIR\\$winf\"" >> $OUTFILE
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
381 done
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
382
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
383 # last bit of the uninstaller
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
384 cat >> $OUTFILE << EOF
3409
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
385 Delete "\$INSTDIR\\*.*"
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
386 RmDir "\$INSTDIR"
3954
14ad478dc07b Installer: prompt to unstill additional files (Bug #45188)
John D
parents: 3831
diff changeset
387
14ad478dc07b Installer: prompt to unstill additional files (Bug #45188)
John D
parents: 3831
diff changeset
388 ; didnt remove directory ? most likely from not all files removed
14ad478dc07b Installer: prompt to unstill additional files (Bug #45188)
John D
parents: 3831
diff changeset
389 IfErrors 0 uninstall_done
3956
125325a2a2c4 nsis-installer: delete remaining files in reboot
John D
parents: 3954
diff changeset
390 MessageBox MB_YESNO "One or more folders were not uninstalled because they contain extra files. Try to delete them?" IDNO uninstall_done
3954
14ad478dc07b Installer: prompt to unstill additional files (Bug #45188)
John D
parents: 3831
diff changeset
391 RMDir /r "\$INSTDIR"
3956
125325a2a2c4 nsis-installer: delete remaining files in reboot
John D
parents: 3954
diff changeset
392
125325a2a2c4 nsis-installer: delete remaining files in reboot
John D
parents: 3954
diff changeset
393 IfErrors 0 uninstall_done
125325a2a2c4 nsis-installer: delete remaining files in reboot
John D
parents: 3954
diff changeset
394 MessageBox MB_YESNO "One of more files were still not uninstalled. Do you want to delete them on the next reboot?" IDNO uninstall_done
125325a2a2c4 nsis-installer: delete remaining files in reboot
John D
parents: 3954
diff changeset
395 RMDir /r /REBOOTOK "\$INSTDIR"
3954
14ad478dc07b Installer: prompt to unstill additional files (Bug #45188)
John D
parents: 3831
diff changeset
396 uninstall_done:
14ad478dc07b Installer: prompt to unstill additional files (Bug #45188)
John D
parents: 3831
diff changeset
397
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
398 SectionEnd
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
399
3362
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
400 ; Function to detect Windows version and abort if Octave is unsupported in the current platform
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
401 Function DetectWinVer
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
402 Push \$0
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
403 Push \$1
3552
b82ff8ba6a8a nsis-installer: check for win8 version and set -i --line-editing in shortcuts
John Donoghue <john.donoghue@ieee.org>
parents: 3545
diff changeset
404
b82ff8ba6a8a nsis-installer: check for win8 version and set -i --line-editing in shortcuts
John Donoghue <john.donoghue@ieee.org>
parents: 3545
diff changeset
405 StrCpy \$IsWin8 0
b82ff8ba6a8a nsis-installer: check for win8 version and set -i --line-editing in shortcuts
John Donoghue <john.donoghue@ieee.org>
parents: 3545
diff changeset
406
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
407 ReadRegStr \$0 HKLM "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion" CurrentVersion
3362
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
408 IfErrors is_error is_winnt
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
409 is_winnt:
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
410 StrCpy \$1 \$0 1
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
411 StrCmp \$1 4 is_error ; Aborting installation for Windows versions older than Windows 2000
3364
4812bade5c85 makeinst-script.sh: Remove Windows 2000 as supported Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3363
diff changeset
412 StrCmp \$0 "5.0" is_error ; Removing Windows 2000 as supported Windows version
3362
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
413 StrCmp \$0 "5.1" is_winnt_XP
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
414 StrCmp \$0 "5.2" is_winnt_2003
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
415 StrCmp \$0 "6.0" is_winnt_vista
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
416 StrCmp \$0 "6.1" is_winnt_7
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
417 StrCmp \$0 "6.2" is_winnt_8
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
418 StrCmp \$1 6 is_winnt_8 ; Checking for future versions of Windows 8
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
419 Goto is_error
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
420
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
421 is_winnt_8:
3552
b82ff8ba6a8a nsis-installer: check for win8 version and set -i --line-editing in shortcuts
John Donoghue <john.donoghue@ieee.org>
parents: 3545
diff changeset
422 StrCpy \$IsWin8 1
b82ff8ba6a8a nsis-installer: check for win8 version and set -i --line-editing in shortcuts
John Donoghue <john.donoghue@ieee.org>
parents: 3545
diff changeset
423
3362
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
424 MessageBox MB_YESNO|MB_ICONEXCLAMATION "Setup has detected Windows 8 installed on your system. Octave is currently not fully supported on Windows 8. If you choose to continue with the installation, you might not be able to access Octave GUI. Do you want to proceed with the installation anyway?" IDYES done IDNO 0
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
425 Abort
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
426 is_winnt_XP:
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
427 is_winnt_2003:
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
428 is_winnt_vista:
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
429 is_winnt_7:
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
430 Goto done
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
431 is_error:
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
432 StrCpy \$1 \$0
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
433 ReadRegStr \$0 HKLM "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion" ProductName
3362
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
434 IfErrors 0 +4
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
435 ReadRegStr \$0 HKLM "SOFTWARE\\Microsoft\\Windows\\CurrentVersion" Version
3362
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
436 IfErrors 0 +2
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
437 StrCpy \$0 "Unknown"
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
438 MessageBox MB_ICONSTOP|MB_OK "This version of Octave cannot be installed on this system. Octave is supported only on Windows NT systems. Current system: \$0 (version: \$1)"
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
439 Abort
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
440 done:
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
441 Pop \$1
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
442 Pop \$0
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
443 FunctionEnd
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
444
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
445 ; Function to check whether already installed this version
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
446 Function CheckCurrVersion
3358
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
447 Push \$0
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
448 ClearErrors
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
449 ReadRegStr \$0 HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION" "DisplayName"
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
450 IfErrors curr_check_ok
3358
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
451 MessageBox MB_OK|MB_ICONSTOP "Another Octave installation (with the same version) has been detected. Please uninstall it first."
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
452 Abort
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
453 curr_check_ok:
3358
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
454 Pop \$0
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
455 FunctionEnd
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
456
3728
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
457 ; Check whether prev install is here and no spaces in dest name
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
458 Function CheckPrevInstallAndDest
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
459 IfFileExists "\$INSTDIR\\bin\\octave.exe" inst_exists inst_none
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
460 inst_exists:
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
461 MessageBox MB_YESNO|MB_ICONEXCLAMATION "Another Octave installation has been detected at that destination. It is recommended to uninstall it if you intend to use the same installation directory. Do you want to proceed with the installation anyway?" IDYES inst_none IDNO 0
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
462 Abort
3728
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
463 GoTo inst_end
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
464 inst_none:
3728
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
465
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
466
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
467 ; check for spaces in dest filename
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
468 Push \$R0
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
469 Push \$R1
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
470
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
471 StrCpy \$R1 0 # r1 = counter
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
472 space_loop:
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
473 StrCpy \$R0 \$INSTDIR 1 \$R1 # R0 = character in string to check
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
474 StrCmp \$R0 "" space_end # end of string
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
475 StrCmp \$R0 " " space_found
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
476 IntOp \$R1 \$R1 + 1
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
477 GoTo space_loop
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
478 space_found:
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
479 MessageBox MB_OK|MB_ICONEXCLAMATION "Octave should not be installed to a destination folder containing spaces. Please select another destination."
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
480 Abort
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
481 space_end:
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
482 Pop \$R1
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
483 Pop \$R0
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
484
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
485 inst_end:
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
486
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
487 FunctionEnd
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
488
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
489 ; Function to check Java Runtime Environment
3358
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
490 Function CheckJRE
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
491 ; looks in:
3359
40ae138b38a6 Removed checking of JRE locally
Anirudha Bose <ani07nov@gmail.com>
parents: 3358
diff changeset
492 ; 1 - JAVA_HOME environment variable
40ae138b38a6 Removed checking of JRE locally
Anirudha Bose <ani07nov@gmail.com>
parents: 3358
diff changeset
493 ; 2 - the registry
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
494
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
495 Push \$R0
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
496 Push \$R1
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
497
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
498 ; use javaw.exe to avoid dosbox.
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
499 ; use java.exe to keep stdout/stderr
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
500 !define JAVAEXE "javaw.exe"
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
501
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
502 ClearErrors
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
503 ReadEnvStr \$R0 "JAVA_HOME"
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
504 StrCpy \$R0 "\$R0\\bin\\\${JAVAEXE}"
3359
40ae138b38a6 Removed checking of JRE locally
Anirudha Bose <ani07nov@gmail.com>
parents: 3358
diff changeset
505 IfErrors 0 continue ;; 1) found it in JAVA_HOME
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
506
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
507 ClearErrors
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
508 ReadRegStr \$R1 HKLM "SOFTWARE\\JavaSoft\\Java Runtime Environment" "CurrentVersion"
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
509 ReadRegStr \$R0 HKLM "SOFTWARE\\JavaSoft\\Java Runtime Environment\\\$R1" "JavaHome"
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
510 StrCpy \$R0 "\$R0\\bin\\\${JAVAEXE}"
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
511
3359
40ae138b38a6 Removed checking of JRE locally
Anirudha Bose <ani07nov@gmail.com>
parents: 3358
diff changeset
512 IfErrors 0 continue ;; 2) found it in the registry
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
513 IfErrors JRE_Error
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
514
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
515 JRE_Error:
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
516 MessageBox MB_ICONEXCLAMATION|MB_YESNO "Octave includes a Java integration component, but it seems Java is not available on this system. This component requires the Java Runtime Environment from Oracle (http://www.java.com) installed on your system. Octave can work without Java available, but the Java integration component will not be functional. Installing those components without Java available might prevent Octave from working correctly. Proceed with installation anyway?" IDYES continue
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
517 Abort
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
518 continue:
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
519 Pop \$R1
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
520 Pop \$R0
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
521 FunctionEnd
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
522 EOF