annotate tools/makeinst-script.sh.in @ 5310:33eacbfa7739

* src/of-mapping.mk: update to v1.4.0
author John Donoghue
date Thu, 13 Feb 2020 11:21:14 -0500
parents 8da894159471
children 4d6716dcec28
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
4658
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4652
diff changeset
4 if [ $# != 3 ]; then
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4652
diff changeset
5 echo "usage: makeinst-script.sh dist-dir installer-name output-script-name" 1>&2
3431
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
4658
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4652
diff changeset
9 INSTALLER_NAME="$2"
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4652
diff changeset
10 OUTFILE="$3"
4124
5ae69991eaa1 installer: detect win64/win32 java depending on octave 32/64 (Bug #47606)
John Donoghue
parents: 4121
diff changeset
11 TOPDIR=@abs_top_srcdir@
4173
1d86cb0348ff nsis: install all files to BUILD_PREFIX (Bug #48530)
John Donoghue <john.donoghue@ieee.org>
parents: 4158
diff changeset
12 TOP_BUILD_DIR=@abs_top_builddir@
1d86cb0348ff nsis: install all files to BUILD_PREFIX (Bug #48530)
John Donoghue <john.donoghue@ieee.org>
parents: 4158
diff changeset
13
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
14 OCTAVE_SOURCE=`basename $1`
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
15
4066
0962acdde3be builld: allow out of source build
John Donoghue
parents: 4028
diff changeset
16 cd `dirname $1`
3384
0de28586712a installer: Change gui shortcut path to libexec installed path
John Donoghue <john.donoghue@ieee.org>
parents: 3367
diff changeset
17 MXEDIR=`cd ..; pwd`
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
18
5134
0ff5f24c0862 * tools/makeinst-script.sh.in: update qt prefix and translations dir in installer qt.conf
John Donoghue
parents: 5125
diff changeset
19 if [ "@ENABLE_QT5@" == "yes" ]; then
0ff5f24c0862 * tools/makeinst-script.sh.in: update qt prefix and translations dir in installer qt.conf
John Donoghue
parents: 5125
diff changeset
20 QT_SUBDIR=qt5/
0ff5f24c0862 * tools/makeinst-script.sh.in: update qt prefix and translations dir in installer qt.conf
John Donoghue
parents: 5125
diff changeset
21 else
0ff5f24c0862 * tools/makeinst-script.sh.in: update qt prefix and translations dir in installer qt.conf
John Donoghue
parents: 5125
diff changeset
22 QT_SUBDIR=
0ff5f24c0862 * tools/makeinst-script.sh.in: update qt prefix and translations dir in installer qt.conf
John Donoghue
parents: 5125
diff changeset
23 fi
0ff5f24c0862 * tools/makeinst-script.sh.in: update qt prefix and translations dir in installer qt.conf
John Donoghue
parents: 5125
diff changeset
24
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
25 if [ "@USE_MSYS2@" == "yes" ]; then
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
26 if [ "@ENABLE_WINDOWS_64@" == "yes" ]; then
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
27 OCTAVE_SUBDIR=mingw64
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
28 else
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
29 OCTAVE_SUBDIR=mingw32
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
30 fi
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
31 else
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
32 OCTAVE_SUBDIR=
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
33 fi
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
34
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
35
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
36 if [ -e $OCTAVE_SOURCE/$OCTAVE_SUBDIR/bin/libopenblas.dll ]; then
3570
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
37 DEFAULT_BLAS="OpenBLAS"
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
38 else
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
39 DEFAULT_BLAS="Reference BLAS"
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
40 fi
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
41
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
42 # 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
43 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
44
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
45 # extract version number
3384
0de28586712a installer: Change gui shortcut path to libexec installed path
John Donoghue <john.donoghue@ieee.org>
parents: 3367
diff changeset
46 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
47 VERSION=`echo $OCTAVE_VERSION | sed -n 's,\([0-9\.]*\).*,\1,p'`
4752
e839056b9a65 Allow building of unreleased stable branch (4.4.0x) (bug #54176).
Rik <rik@octave.org>
parents: 4725
diff changeset
48 if [ `echo $VERSION | grep -o '\.' | wc -l` -le 2 ]; then
e839056b9a65 Allow building of unreleased stable branch (4.4.0x) (bug #54176).
Rik <rik@octave.org>
parents: 4725
diff changeset
49 INSTALLER_VERSION="$VERSION.0"
e839056b9a65 Allow building of unreleased stable branch (4.4.0x) (bug #54176).
Rik <rik@octave.org>
parents: 4725
diff changeset
50 else
e839056b9a65 Allow building of unreleased stable branch (4.4.0x) (bug #54176).
Rik <rik@octave.org>
parents: 4725
diff changeset
51 INSTALLER_VERSION=$VERSION
e839056b9a65 Allow building of unreleased stable branch (4.4.0x) (bug #54176).
Rik <rik@octave.org>
parents: 4725
diff changeset
52 fi
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
53
3818
9b033c5323db nsis installer: expand uninstall information
John Donoghue
parents: 3817
diff changeset
54 # estimated size of installed files
9b033c5323db nsis installer: expand uninstall information
John Donoghue
parents: 3817
diff changeset
55 SIZE=`du -slk $OCTAVE_SOURCE | awk '{print \$1}'`
9b033c5323db nsis installer: expand uninstall information
John Donoghue
parents: 3817
diff changeset
56
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
57 # create installer script
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
58 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
59
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
60 # installer settings
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
61 cat >> $OUTFILE << EOF
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
62 !define APP_NAME "GNU Octave"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
63 !define COMP_NAME "GNU Project"
4650
1d9448607538 Use https in links whenever possible (Bug #53555).
Rik <rik@octave.org>
parents: 4648
diff changeset
64 !define WEB_SITE "https://www.octave.org"
4752
e839056b9a65 Allow building of unreleased stable branch (4.4.0x) (bug #54176).
Rik <rik@octave.org>
parents: 4725
diff changeset
65 !define VERSION "$INSTALLER_VERSION"
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
66 !define OCTAVE_VERSION "$OCTAVE_VERSION"
5273
eafd9bf16bf4 * tools/makeinst-script.sh.in: update installer copyright (Bug #57617)
John Donoghue
parents: 5270
diff changeset
67 !define COPYRIGHT "Copyright © 2013-2020 John W. Eaton and others."
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
68 !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
69 !define INSTALLER_FILES "$TOPDIR/installer-files"
4658
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4652
diff changeset
70 !define INSTALLER_NAME "$INSTALLER_NAME"
4028
8803dfa40236 nsis installer: set directory to userprofile on startof octave from installer (Bug #45899)
John Donoghue
parents: 3963
diff changeset
71 !define MAIN_APP_EXE "octave-firsttime.vbs"
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
72 !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
73 !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
74 !define PRODUCT_KEY "Software\\Octave-$VERSION"
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
75
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
76 ######################################################################
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
77
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
78 VIProductVersion "\${VERSION}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
79 VIAddVersionKey "ProductName" "\${APP_NAME}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
80 VIAddVersionKey "CompanyName" "\${COMP_NAME}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
81 VIAddVersionKey "LegalCopyright" "\${COPYRIGHT}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
82 VIAddVersionKey "FileDescription" "\${DESCRIPTION}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
83 VIAddVersionKey "FileVersion" "\${VERSION}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
84
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
85 ######################################################################
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
86
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
87 SetCompressor /SOLID Lzma
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
88 Name "\${APP_NAME}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
89 Caption "\${APP_NAME}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
90 OutFile "\${INSTALLER_NAME}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
91 BrandingText "\${APP_NAME}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
92 XPStyle on
5270
225fc4d8f598 * tools/makeinst-script.sh.in: make installer dpi aware
John Donoghue
parents: 5248
diff changeset
93 ManifestDPIAware true
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
94 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
95 Icon "\${INSTALLER_FILES}/octave-logo.ico"
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
96
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
97 ######################################################################
3409
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
98 ; StrFunc usage
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
99 !include "StrFunc.nsh"
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
100 \${StrRep}
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
101 ######################################################################
3363
b89f15801606 Added Octave images in welcome page, headers, and finish page of installer.
Anirudha Bose <ani07nov@gmail.com>
parents: 3362
diff changeset
102 ; MUI settings
4608
dac40a0ff814 nsis: update for 64bit compile
John Donoghue
parents: 4602
diff changeset
103 !include "MUI2.nsh"
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
104
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
105 ; 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
106 !include nsDialogs.nsh
3471
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
107 !macro __DropList_GetCurSel CONTROL VAR
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
108 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
109 !macroend
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
110
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
111 !define DropList_GetCurSel \`!insertmacro __DropList_GetCurSel\`
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
112
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
113 ; 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
114 !include LogicLib.nsh
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
115 ; File funcs
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
116 !include FileFunc.nsh
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
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
118 !define MUI_ABORTWARNING
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
119 !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
120 !define MUI_HEADERIMAGE
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
121
3363
b89f15801606 Added Octave images in welcome page, headers, and finish page of installer.
Anirudha Bose <ani07nov@gmail.com>
parents: 3362
diff changeset
122 ; Theme
b89f15801606 Added Octave images in welcome page, headers, and finish page of installer.
Anirudha Bose <ani07nov@gmail.com>
parents: 3362
diff changeset
123 !define MUI_ICON "\${INSTALLER_FILES}/octave-logo.ico"
4173
1d86cb0348ff nsis: install all files to BUILD_PREFIX (Bug #48530)
John Donoghue <john.donoghue@ieee.org>
parents: 4158
diff changeset
124 !define MUI_UNICON "$TOP_BUILD_DIR/usr/share/nsis/Contrib/Graphics/Icons/orange-uninstall.ico"
3363
b89f15801606 Added Octave images in welcome page, headers, and finish page of installer.
Anirudha Bose <ani07nov@gmail.com>
parents: 3362
diff changeset
125 !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
126 !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
127
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
128 !insertmacro MUI_PAGE_WELCOME
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
129
3360
cbaab92e1174 makeinst-script.sh: Removed 'I Agree' in GPL license page
Anirudha Bose <ani07nov@gmail.com>
parents: 3359
diff changeset
130 !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
131 !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
132 !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
133
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
134 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
135
3728
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
136 !define MUI_PAGE_CUSTOMFUNCTION_LEAVE CheckPrevInstallAndDest
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
137 !insertmacro MUI_PAGE_DIRECTORY
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
138
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
139 !insertmacro MUI_PAGE_INSTFILES
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
140
3757
7a6637aa3aae installer: ran octave through explorer when running at end of install (Bug 43824)
John Donoghue
parents: 3728
diff changeset
141 !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
142 !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
143 !define MUI_FINISHPAGE_SHOWREADME "\$INSTDIR\\README.html"
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
144 !insertmacro MUI_PAGE_FINISH
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
145
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
146 !insertmacro MUI_UNPAGE_CONFIRM
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
147
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
148 !insertmacro MUI_UNPAGE_INSTFILES
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
149
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
150 !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
151
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
152 !insertmacro MUI_LANGUAGE "English"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
153
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
154 ######################################################################
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
155
3331
71171ba8bebd Update installer script for admin level and single icon file
John Donoghue <john.donoghue@ieee.org>
parents: 3010
diff changeset
156 RequestExecutionLevel admin
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
157
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
158 ######################################################################
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
159
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
160 ; 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
161
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
162 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
163 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
164 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
165 Var InstallShortcutsCtrl
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
166 Var RegisterOctaveFileType
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
167 Var RegisterOctaveFileTypeCtrl
3471
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
168 Var InstallBlasLibCtrl
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
169 Var InstallBlasLib
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
170
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
171 Function octaveOptionsPage
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
172 Push \$0
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
173 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
174 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
175
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
176 \${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
177 Abort
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
178 \${EndIf}
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
179
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
180 \${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
181 Pop \$InstallAllUsersCtrl
4786
0c6d7d14a615 * tools/makeinst-script.sh.in: Set default option page values (Bug #54457)
John Donoghue
parents: 4767
diff changeset
182 \${NSD_SetState} \$InstallAllUsersCtrl \$InstallAllUsers
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
183
5303
8da894159471 * tools/makeinst-script.sh.in: use dialog units for y spacing
John Donoghue
parents: 5273
diff changeset
184 \${NSD_CreateCheckBox} 0 20u 100% 12u "Create desktop shortcuts"
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
185 Pop \$InstallShortcutsCtrl
4786
0c6d7d14a615 * tools/makeinst-script.sh.in: Set default option page values (Bug #54457)
John Donoghue
parents: 4767
diff changeset
186 \${NSD_SetState} \$InstallShortcutsCtrl \$InstallShortcuts
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
5303
8da894159471 * tools/makeinst-script.sh.in: use dialog units for y spacing
John Donoghue
parents: 5273
diff changeset
188 \${NSD_CreateCheckBox} 0 40u 100% 12u "Register .m file type with Octave"
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
189 Pop \$RegisterOctaveFileTypeCtrl
4786
0c6d7d14a615 * tools/makeinst-script.sh.in: Set default option page values (Bug #54457)
John Donoghue
parents: 4767
diff changeset
190 \${NSD_SetState} \$RegisterOctaveFileTypeCtrl \$RegisterOctaveFileType
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
191
5303
8da894159471 * tools/makeinst-script.sh.in: use dialog units for y spacing
John Donoghue
parents: 5273
diff changeset
192 \${NSD_CreateLabel} 0 70u 110u 12u "BLAS library implementation:"
3471
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
193 Pop \$0
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
194
5303
8da894159471 * tools/makeinst-script.sh.in: use dialog units for y spacing
John Donoghue
parents: 5273
diff changeset
195 \${NSD_CreateDropList} 120u 70u 100u 80u ""
3471
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
196 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
197 EOF
c21ca79d7980 Remove ENABLE_OPEN_BLAS from .mk files and use just to add openblass to the distribution
John Donoghue
parents: 3471
diff changeset
198 # add option to install libopenblas if we have the dll present
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
199 if [ -e $OCTAVE_SOURCE/$OCTAVE_SUBDIR/bin/libopenblas.dll ]; then
3545
c21ca79d7980 Remove ENABLE_OPEN_BLAS from .mk files and use just to add openblass to the distribution
John Donoghue
parents: 3471
diff changeset
200 cat >> $OUTFILE << EOF
3471
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
201 \${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
202 EOF
c21ca79d7980 Remove ENABLE_OPEN_BLAS from .mk files and use just to add openblass to the distribution
John Donoghue
parents: 3471
diff changeset
203 fi
c21ca79d7980 Remove ENABLE_OPEN_BLAS from .mk files and use just to add openblass to the distribution
John Donoghue
parents: 3471
diff changeset
204 cat >> $OUTFILE << EOF
3570
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
205 \${NSD_CB_AddString} \$InstallBlasLibCtrl "Reference BLAS"
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
206 EOF
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
207
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
208 cat >> $OUTFILE << EOF
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
209 \${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
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 !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
212 nsDialogs::Show
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
213 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
214 FunctionEnd
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
215
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
216 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
217 \${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
218 \${NSD_GetState} \$InstallShortcutsCtrl \$InstallShortcuts
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
219 \${NSD_GetState} \$RegisterOctaveFileTypeCtrl \$RegisterOctaveFileType
3471
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
220 \${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
221 FunctionEnd
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
222
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
223 ######################################################################
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
224
3358
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
225 Function .onInit
4786
0c6d7d14a615 * tools/makeinst-script.sh.in: Set default option page values (Bug #54457)
John Donoghue
parents: 4767
diff changeset
226 ; set default options
0c6d7d14a615 * tools/makeinst-script.sh.in: Set default option page values (Bug #54457)
John Donoghue
parents: 4767
diff changeset
227 StrCpy \$InstallAllUsers \${BST_CHECKED}
0c6d7d14a615 * tools/makeinst-script.sh.in: Set default option page values (Bug #54457)
John Donoghue
parents: 4767
diff changeset
228 StrCpy \$InstallShortcuts \${BST_CHECKED}
0c6d7d14a615 * tools/makeinst-script.sh.in: Set default option page values (Bug #54457)
John Donoghue
parents: 4767
diff changeset
229 StrCpy \$RegisterOctaveFileType \${BST_CHECKED}
0c6d7d14a615 * tools/makeinst-script.sh.in: Set default option page values (Bug #54457)
John Donoghue
parents: 4767
diff changeset
230 StrCpy \$InstallBlasLib 0
0c6d7d14a615 * tools/makeinst-script.sh.in: Set default option page values (Bug #54457)
John Donoghue
parents: 4767
diff changeset
231
4845
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
232 ; process cmand line options
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
233 \${GetParameters} \$R0
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
234 ClearErrors
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
235 \${GetOptions} "\$R0" "/REGISTER_FILE_TYPES=" \$0
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
236 IfErrors no_register_opt
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
237 \${If} \$0 == 0
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
238 StrCpy \$RegisterOctaveFileType \${BST_UNCHECKED}
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
239 \${EndIf}
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
240 no_register_opt:
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
241 ClearErrors
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
242 \${GetOptions} "\$R0" "/INSTALL_SHORTCUTS=" \$0
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
243 IfErrors no_shortcuts_opt
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
244 \${If} \$0 == 0
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
245 StrCpy \$InstallShortcuts \${BST_UNCHECKED}
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
246 \${EndIf}
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
247 no_shortcuts_opt:
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
248 ClearErrors
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
249 \${GetOptions} "\$R0" "/INSTALL_ALL_USERS=" \$0
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
250 IfErrors no_all_users_opt
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
251 \${If} \$0 == 0
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
252 StrCpy \$InstallAllUsers \${BST_UNCHECKED}
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
253 \${EndIf}
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
254 no_all_users_opt:
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
255 ClearErrors
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
256
4120
f2d7bb7777da installer: dont warn on experimental for win10 (Bug #47576)
John Donoghue
parents: 4075
diff changeset
257 Call CheckWinVer
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
258 Call CheckCurrVersion
4759
e76d54c038ef Don't run JRE check during install if Octave was built with --disable-java (bug #54427).
Rik <rik@octave.org>
parents: 4752
diff changeset
259 \${If} @ENABLE_JAVA@ == yes
e76d54c038ef Don't run JRE check during install if Octave was built with --disable-java (bug #54427).
Rik <rik@octave.org>
parents: 4752
diff changeset
260 Call CheckJRE
e76d54c038ef Don't run JRE check during install if Octave was built with --disable-java (bug #54427).
Rik <rik@octave.org>
parents: 4752
diff changeset
261 \${EndIf}
3358
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
262 InitPluginsDir
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
263 FunctionEnd
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
264
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
265 ; file section
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
266 Section "MainFiles"
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
267 ; 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
268 \${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
269 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
270 \${Else}
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
271 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
272 \${Endif}
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
273
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
274 ; 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
275 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
276 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
277
4767
a800e350d88b use .bat file for octave.exe/octave-version.exe (Bug #53938)
John Donoghue
parents: 4759
diff changeset
278 ; include octave.vbs and other scripts
3717
70480095b6ed Use a bat file to run octave in windows (Bug #43164)
John Donoghue
parents: 3686
diff changeset
279 SetOutPath "\$INSTDIR"
3817
6daa158a7018 nsis installer: use octave.vbs as laucher (Bug #41074)
John Donoghue <john.donoghue@ieee.org>
parents: 3784
diff changeset
280 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
281 File "$OCTAVE_SOURCE/octave-firsttime.vbs"
4254
7f2d5c8c4491 installer: update fc cache during install (Bug #45458)
John D
parents: 4186
diff changeset
282 File "$OCTAVE_SOURCE/fc_update.bat"
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
283 File "$OCTAVE_SOURCE/post-install.bat"
4254
7f2d5c8c4491 installer: update fc cache during install (Bug #45458)
John D
parents: 4186
diff changeset
284
4602
a487b12dc08f * tools/makeinst-script.sh.in: include HG-ID in installed files
John Donoghue
parents: 4471
diff changeset
285 File "$OCTAVE_SOURCE/HG-ID"
a487b12dc08f * tools/makeinst-script.sh.in: include HG-ID in installed files
John Donoghue
parents: 4471
diff changeset
286
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
287 ; distro files
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
288 EOF
3963
9d402d735dd1 nsis-installer: add bash window menu if devel tools enabled
John Donoghue
parents: 3956
diff changeset
289 if [ -f $OCTAVE_SOURCE/cmdshell.bat ]; then
9d402d735dd1 nsis-installer: add bash window menu if devel tools enabled
John Donoghue
parents: 3956
diff changeset
290 echo "File '$OCTAVE_SOURCE/cmdshell.bat'" >> $OUTFILE
9d402d735dd1 nsis-installer: add bash window menu if devel tools enabled
John Donoghue
parents: 3956
diff changeset
291 fi
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
292
4254
7f2d5c8c4491 installer: update fc cache during install (Bug #45458)
John D
parents: 4186
diff changeset
293
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
294 # insert the files
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
295 IFS=$'\n'
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
296 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
297 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
298 echo " CreateDirectory \"\$INSTDIR\\$winf\"" >> $OUTFILE
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
299 echo " SetOutPath \"\$INSTDIR\\$winf\"" >> $OUTFILE
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
300 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
301 done
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
302
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
303 cat >> $OUTFILE << EOF
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
304
3409
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
305 ; add qt.conf
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
306 Push \$0
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
307 \${StrRep} '\$0' '\$INSTDIR' '\\' '/'
5134
0ff5f24c0862 * tools/makeinst-script.sh.in: update qt prefix and translations dir in installer qt.conf
John Donoghue
parents: 5125
diff changeset
308 WriteINIStr "\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\qt.conf" "Paths" "Prefix" "\$0/$OCTAVE_SUBDIR"
5135
6836b2f08479 * tools/makeinst-script.sh.in: expand qt.conf to include all installed qt dirs
John Donoghue
parents: 5134
diff changeset
309 WriteINIStr "\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\qt.conf" "Paths" "Documentation" "${QT_SUBDIR}doc"
6836b2f08479 * tools/makeinst-script.sh.in: expand qt.conf to include all installed qt dirs
John Donoghue
parents: 5134
diff changeset
310 WriteINIStr "\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\qt.conf" "Paths" "Headers" "${QT_SUBDIR}include"
6836b2f08479 * tools/makeinst-script.sh.in: expand qt.conf to include all installed qt dirs
John Donoghue
parents: 5134
diff changeset
311 WriteINIStr "\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\qt.conf" "Paths" "Libraries" "${QT_SUBDIR}lib"
6836b2f08479 * tools/makeinst-script.sh.in: expand qt.conf to include all installed qt dirs
John Donoghue
parents: 5134
diff changeset
312 WriteINIStr "\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\qt.conf" "Paths" "Plugins" "${QT_SUBDIR}plugins"
5134
0ff5f24c0862 * tools/makeinst-script.sh.in: update qt prefix and translations dir in installer qt.conf
John Donoghue
parents: 5125
diff changeset
313 WriteINIStr "\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\qt.conf" "Paths" "Translations" "${QT_SUBDIR}translations"
3409
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
314 Pop \$0
4254
7f2d5c8c4491 installer: update fc cache during install (Bug #45458)
John D
parents: 4186
diff changeset
315
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
316 ; run post-install script
4258
a45374f7d9a3 Use 8.3 format for octave path
John D
parents: 4255
diff changeset
317 GetFullPathName /SHORT \$1 \$INSTDIR
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
318 DetailPrint "Running post install script (May take a while) ..."
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
319 ;ExecWait "\$1\\post-install.bat"
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
320 ; run in hidden console window
5125
cd7689f3fcd8 * tools/makeinst-script.sh.in: increate posi install script wait time to 1min
John Donoghue
parents: 4949
diff changeset
321 nsExec::Exec /TIMEOUT=60000 '"\$1\\post-install.bat"'
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
322 Pop \$0
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
323 SectionEnd
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
324
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
325 Section make_uninstaller
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
326 ; Write the uninstall keys for Windows
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
327 SetOutPath "\$INSTDIR"
3818
9b033c5323db nsis installer: expand uninstall information
John Donoghue
parents: 3817
diff changeset
328 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
329 WriteRegStr HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION" "DisplayVersion" "$VERSION"
3818
9b033c5323db nsis installer: expand uninstall information
John Donoghue
parents: 3817
diff changeset
330 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
331 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
332 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
333 WriteRegDWORD HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION" "NoRepair" 1
3818
9b033c5323db nsis installer: expand uninstall information
John Donoghue
parents: 3817
diff changeset
334 WriteRegStr HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION" "Publisher" "\${APP_NAME}"
9b033c5323db nsis installer: expand uninstall information
John Donoghue
parents: 3817
diff changeset
335 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
336 \${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
337 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
338 \${EndIf}
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
339 WriteUninstaller "uninstall.exe"
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
340 SectionEnd
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
341
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
342 ; start menu (currently hardcoded)
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
343 Section "Shortcuts"
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
344
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
345 CreateDirectory "\$SMPROGRAMS\\GNU Octave $VERSION"
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
346 CreateShortCut "\$SMPROGRAMS\\GNU 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
347 SetOutPath "%USERPROFILE%"
4949
1c251625c3cf * tools/makeinst-script.sh.in: call .vbs files via wscript call (Bug #55635)
John Donoghue
parents: 4845
diff changeset
348 CreateShortCut "\$SMPROGRAMS\\GNU Octave $VERSION\\Octave-$VERSION (CLI).lnk" "%SYSTEMROOT%\\system32\\wscript.exe" "\$\\"\$INSTDIR\\octave.vbs\$\\" --no-gui" "\$INSTDIR\\$ICON" 0 SW_SHOWMINIMIZED
5248
9899965a595b * tools/makeinst-script.sh.in: use --gui not --force-gui
John Donoghue <john.donoghue@ieee.org>
parents: 5168
diff changeset
349 CreateShortCut "\$SMPROGRAMS\\GNU Octave $VERSION\\Octave-$VERSION (GUI).lnk" "%SYSTEMROOT%\\system32\\wscript.exe" "\$\\"\$INSTDIR\\octave.vbs\$\\" --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
350 SetOutPath "\$INSTDIR"
4176
a543952ed731 set usermodelappid for octave-gui shortcut (Bug #47527)
John Donoghue
parents: 4173
diff changeset
351
a543952ed731 set usermodelappid for octave-gui shortcut (Bug #47527)
John Donoghue
parents: 4173
diff changeset
352 ; fix the shortcuts for appid
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
353 ; run in hidden console window
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
354 nsExec::Exec /TIMEOUT=30000 '"\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\win7appid.exe" "\$SMPROGRAMS\\GNU Octave $VERSION\\Octave-$VERSION (GUI).lnk" "gnu.octave.$VERSION"'
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
355 Pop \$0
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
356 EOF
3963
9d402d735dd1 nsis-installer: add bash window menu if devel tools enabled
John Donoghue
parents: 3956
diff changeset
357 # shortcut for cmd win
9d402d735dd1 nsis-installer: add bash window menu if devel tools enabled
John Donoghue
parents: 3956
diff changeset
358 if [ -f $OCTAVE_SOURCE/cmdshell.bat ]; then
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
359 echo "CreateShortCut '\$SMPROGRAMS\\GNU Octave $VERSION\\Bash Shell.lnk' '\$INSTDIR\\cmdshell.bat' '' '' 0" >> $OUTFILE
3963
9d402d735dd1 nsis-installer: add bash window menu if devel tools enabled
John Donoghue
parents: 3956
diff changeset
360 fi
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
361 # if we have documentation files, create shortcuts
4808
adc0217b36c0 * tools/makeinst-script.sh.in: update doc paths for msys2 /mingwXX
John Donoghue
parents: 4793
diff changeset
362 if [ -d $OCTAVE_SOURCE/$OCTAVE_SUBDIR/share/doc/octave ]; then
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
363 cat >> $OUTFILE << EOF
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
364 CreateDirectory "\$SMPROGRAMS\\GNU Octave $VERSION\\Documentation"
4808
adc0217b36c0 * tools/makeinst-script.sh.in: update doc paths for msys2 /mingwXX
John Donoghue
parents: 4793
diff changeset
365 CreateShortCut "\$SMPROGRAMS\\GNU Octave $VERSION\\Documentation\\Octave C++ Classes (PDF).lnk" "\$INSTDIR\\$OCTAVE_SUBDIR\\share\\doc\\octave\\liboctave.pdf" "" "" 0
adc0217b36c0 * tools/makeinst-script.sh.in: update doc paths for msys2 /mingwXX
John Donoghue
parents: 4793
diff changeset
366 CreateShortCut "\$SMPROGRAMS\\GNU Octave $VERSION\\Documentation\\Octave C++ Classes (HTML).lnk" "\$INSTDIR\\$OCTAVE_SUBDIR\\share\\doc\\octave\\liboctave.html\\index.html" "" "" 0
adc0217b36c0 * tools/makeinst-script.sh.in: update doc paths for msys2 /mingwXX
John Donoghue
parents: 4793
diff changeset
367 CreateShortCut "\$SMPROGRAMS\\GNU Octave $VERSION\\Documentation\\Octave (PDF).lnk" "\$INSTDIR\\$OCTAVE_SUBDIR\\share\\doc\\octave\\octave.pdf" "" "" 0
adc0217b36c0 * tools/makeinst-script.sh.in: update doc paths for msys2 /mingwXX
John Donoghue
parents: 4793
diff changeset
368 CreateShortCut "\$SMPROGRAMS\\GNU Octave $VERSION\\Documentation\\Octave (HTML).lnk" "\$INSTDIR\\$OCTAVE_SUBDIR\\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
369 EOF
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
370 fi
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
371
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
372 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
373
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
374 \${If} \$InstallShortcuts == \${BST_CHECKED}
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
375
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
376 ; get latest octave and create shortcuts to it
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
377 Push \$R0
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
378 Push \$R1
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
379 Push \$R2
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
380
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
381 Call GetLatestOctave
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
382 Pop \$R1 ; Ver
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
383
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
384 ; if no version found - need set INST DIR and VER will use
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
385 StrCmp \$R1 "" set_ver_str
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
386
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
387 ; valid install found - get info from registry
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
388 ReadRegStr \$R0 HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-\$R1" "UninstallString"
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
389 \${GetParent} \$R0 \$R0
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
390 ReadRegStr \$R2 HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-\$R1" "DisplayIcon"
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
391 GoTo have_ver_str
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
392 set_ver_str:
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
393 StrCpy \$R1 "$VERSION"
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
394 StrCpy \$R0 "\$INSTDIR"
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
395 StrCpy \$R2 "\$INSTDIR\\$ICON"
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
396
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
397 have_ver_str:
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
398 SetOutPath "%USERPROFILE%"
4949
1c251625c3cf * tools/makeinst-script.sh.in: call .vbs files via wscript call (Bug #55635)
John Donoghue
parents: 4845
diff changeset
399 CreateShortCut "\$desktop\\GNU Octave (CLI).lnk" "%SYSTEMROOT%\\system32\\wscript.exe" "\$\\"\$R0\\octave.vbs\$\\" --no-gui" "\$R2" 0 SW_SHOWMINIMIZED
5248
9899965a595b * tools/makeinst-script.sh.in: use --gui not --force-gui
John Donoghue <john.donoghue@ieee.org>
parents: 5168
diff changeset
400 CreateShortCut "\$desktop\\GNU Octave (GUI).lnk" "%SYSTEMROOT%\\system32\\wscript.exe" "\$\\"\$R0\\octave.vbs\$\\" --gui" "\$R2" 0 SW_SHOWMINIMIZED
4186
393571034f24 * tools/makeinst-script.sh.in: set appid of desktop (GUI).lnk
John D
parents: 4176
diff changeset
401
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
402 nsExec::Exec /TIMEOUT=30000 '"\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\win7appid.exe" "\$desktop\\GNU Octave (GUI).lnk" "gnu.octave.\$R1"'
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
403 Pop \$0
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
404
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
405 Pop \$R2
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
406 Pop \$R1
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
407 Pop \$R0
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
408 \${Endif}
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
409
3471
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
410 ; BLAS set up
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
411 \${If} \$InstallBlasLib == 1
3570
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
412 ; Reference BLAS
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
413 CopyFiles /SILENT "\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\librefblas.dll" "\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\libblas.dll"
3570
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
414 \${Else}
3471
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
415 ; OpenBLAS
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
416 CopyFiles /SILENT "\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\libopenblas.dll" "\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\libblas.dll"
3471
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
417 \${EndIf}
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
418
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
419 SectionEnd
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
420
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
421 Section "FileTypeRego"
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
422 ; Octave document
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
423 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
424 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
425 ; document actions
5248
9899965a595b * tools/makeinst-script.sh.in: use --gui not --force-gui
John Donoghue <john.donoghue@ieee.org>
parents: 5168
diff changeset
426 WriteRegStr HKCR "Octave.Document.$VERSION\\shell\\open\\command" "" "wscript \$\\"\$INSTDIR\\octave.vbs\$\\" --gui --persist --eval \$\\"edit '%1'\$\\""
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
427
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
428 \${If} \$RegisterOctaveFileType == \${BST_CHECKED}
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
429 ReadRegStr \$0 HKCR ".m" ""
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
430 StrCmp "\$0" "" no_back_type
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
431 WriteRegStr HKCR ".m" "backup_val" "\$0"
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
432 no_back_type:
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
433 WriteRegStr HKCR ".m" "" "Octave.Document.$VERSION"
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
434 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
435 \${EndIf}
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
436 SectionEnd
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
437
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
438 Section "Uninstall"
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
439
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
440 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
441 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
442
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
443 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
444
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
445 not_all_users:
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
446 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
447 IfErrors not_registered_file
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
448
4255
ee1ae5d1fd88 installer: dont remove file association if is not for installed octave
John D
parents: 4254
diff changeset
449 ; only try remove if is set to our version of octave
ee1ae5d1fd88 installer: dont remove file association if is not for installed octave
John D
parents: 4254
diff changeset
450 ReadRegStr \$0 HKCR ".m" ""
ee1ae5d1fd88 installer: dont remove file association if is not for installed octave
John D
parents: 4254
diff changeset
451 StrCmp \$0 "Octave.Document.$VERSION" 0 not_registered_file
ee1ae5d1fd88 installer: dont remove file association if is not for installed octave
John D
parents: 4254
diff changeset
452
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
453 ReadRegStr \$0 HKCR ".m" "backup_val"
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
454 IfErrors not_backup_file
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
455
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
456 # retore backup
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
457 WriteRegStr HKCR ".m" "" "\$0"
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
459 DeleteRegValue HKCR ".m" "backup_val"
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
460
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
461 ; dont delete .m if just restored backup
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
462 Goto not_registered_file
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
463 not_backup_file:
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
464 DeleteRegKey HKCR ".m"
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
465
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
466 not_registered_file:
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
467 ; delete file type
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
468 DeleteRegKey HKCR "Octave.Document.$VERSION"
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
469
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
470 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
471 DeleteRegKey HKLM "Software\\Octave-$VERSION"
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
472
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
473 ; Remove shortcuts
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
474 Delete "\$SMPROGRAMS\\GNU Octave $VERSION\\Documentation\\*.*"
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
475 RMDir "\$SMPROGRAMS\\GNU Octave $VERSION\\Documentation"
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
476
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
477 Delete "\$SMPROGRAMS\\GNU Octave $VERSION\\*.*"
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
478 RMDir "\$SMPROGRAMS\\GNU Octave $VERSION"
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
479
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
480 ; TODO: only delete if no other version of octave available
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
481
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
482 Push \$R0
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
483 Push \$R1
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
484 Push \$R2
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
485
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
486 Call un.GetLatestOctave
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
487 Pop \$R1 ; Ver
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
488
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
489 ; no installs detected - remove shortcuts
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
490 StrCmp \$R1 "" remove_desktop_shortcuts
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
491
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
492 ; if install detected, get the path and icon
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
493 ReadRegStr \$R0 HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-\$R1" "UninstallString"
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
494 \${GetParent} \$R0 \$R0
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
495
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
496 ReadRegStr \$R2 HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-\$R1" "DisplayIcon"
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
497
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
498 IfFileExists "\$desktop\\GNU Octave (CLI).lnk" 0 check_gui_shortcut
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
499 SetOutPath "%USERPROFILE%"
4949
1c251625c3cf * tools/makeinst-script.sh.in: call .vbs files via wscript call (Bug #55635)
John Donoghue
parents: 4845
diff changeset
500 CreateShortCut "\$desktop\\GNU Octave (CLI).lnk" "%SYSTEMROOT%\system32\wscript.exe" "\$\\"\$R0\\octave.vbs\$\\" --no-gui" "\$R2" 0 SW_SHOWMINIMIZED
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
501
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
502 check_gui_shortcut:
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
503 IfFileExists "\$desktop\\GNU Octave (GUI).lnk" 0 done_remove_desktop_shortcuts
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
504 SetOutPath "%USERPROFILE%"
5248
9899965a595b * tools/makeinst-script.sh.in: use --gui not --force-gui
John Donoghue <john.donoghue@ieee.org>
parents: 5168
diff changeset
505 CreateShortCut "\$desktop\\GNU Octave (GUI).lnk" "%SYSTEMROOT%\system32\wscript.exe" "\$\\"\$R0\\octave.vbs\$\\" --gui" "\$R2" 0 SW_SHOWMINIMIZED
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
506 nsExec::Exec /TIMEOUT=30000 '"\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\win7appid.exe" "\$desktop\\GNU Octave (GUI).lnk" "gnu.octave.\$R1"'
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
507 Pop \$0
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
508
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
509 GoTo done_remove_desktop_shortcuts
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
510
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
511 remove_desktop_shortcuts:
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
512 Delete "\$desktop\\GNU Octave (CLI).lnk"
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
513 Delete "\$desktop\\GNU Octave (GUI).lnk"
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
514
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
515 done_remove_desktop_shortcuts:
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
516 Pop \$R2
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
517 Pop \$R1
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
518 Pop \$R0
3409
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
519
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
520 ; delete generated qt.conf file
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
521 Delete "\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\qt.conf"
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
522 EOF
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
523
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
524 # 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
525 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
526 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
527 echo " Delete \"\$INSTDIR\\$winf\\*.*\"" >> $OUTFILE
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
528 echo " RmDir \"\$INSTDIR\\$winf\"" >> $OUTFILE
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
529 done
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
530
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
531 # last bit of the uninstaller
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
532 cat >> $OUTFILE << EOF
3409
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
533 Delete "\$INSTDIR\\*.*"
4725
12bfaba26c8d * tools/makeinst-script.sh.in: clear erros before doing RMDir INSTDIR
John Donoghue
parents: 4658
diff changeset
534 ClearErrors
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
535 RmDir "\$INSTDIR"
3954
14ad478dc07b Installer: prompt to unstill additional files (Bug #45188)
John D
parents: 3831
diff changeset
536
14ad478dc07b Installer: prompt to unstill additional files (Bug #45188)
John D
parents: 3831
diff changeset
537 ; 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
538 IfErrors 0 uninstall_done
4385
722693b132ad nsis installer: suppress warninga in silent mode
John D
parents: 4367
diff changeset
539 MessageBox MB_YESNO "One or more folders were not uninstalled because they contain extra files. Try to delete them?" /SD IDYES IDNO uninstall_done
3954
14ad478dc07b Installer: prompt to unstill additional files (Bug #45188)
John D
parents: 3831
diff changeset
540 RMDir /r "\$INSTDIR"
3956
125325a2a2c4 nsis-installer: delete remaining files in reboot
John D
parents: 3954
diff changeset
541
125325a2a2c4 nsis-installer: delete remaining files in reboot
John D
parents: 3954
diff changeset
542 IfErrors 0 uninstall_done
4385
722693b132ad nsis installer: suppress warninga in silent mode
John D
parents: 4367
diff changeset
543 MessageBox MB_YESNO "One of more files were still not uninstalled. Do you want to delete them on the next reboot?" /SD IDYES IDNO uninstall_done
3956
125325a2a2c4 nsis-installer: delete remaining files in reboot
John D
parents: 3954
diff changeset
544 RMDir /r /REBOOTOK "\$INSTDIR"
3954
14ad478dc07b Installer: prompt to unstill additional files (Bug #45188)
John D
parents: 3831
diff changeset
545 uninstall_done:
14ad478dc07b Installer: prompt to unstill additional files (Bug #45188)
John D
parents: 3831
diff changeset
546
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
547 SectionEnd
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
548
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
549 ; function to get latest version of octave installed
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
550 !macro GET_LATEST_OCTAVE un
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
551 Function \${un}GetLatestOctave
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
552 Push \$R0
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
553 Push \$R1
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
554 Push \$R2
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
555 Push \$R3
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
556
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
557 StrCpy \$R0 ""
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
558 StrCpy \$R1 0
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
559
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
560 ; loop through installed programs to find octave installs
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
561 octave_ver_loop:
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
562 EnumRegKey \$R2 HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\" \$R1
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
563 StrCmp \$R2 "" latest_octave_done
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
564
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
565 ; len(octave) = 6
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
566 StrCpy \$R3 \$R2 6
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
567 StrCmp \$R3 "Octave" +1 next_ver_loop
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
568
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
569 ; to verify the install check with the installer exists have uninstaller
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
570 ReadRegStr \$R3 HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\\$R2" "UninstallString"
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
571 ifFileExists \$R3 0 next_ver_loop
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
572
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
573 ; grab version part of octave
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
574 StrCpy \$R0 \$R2 "" 7
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
575
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
576 next_ver_loop:
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
577 IntOp \$R1 \$R1 + 1
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
578 GoTo octave_ver_loop
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
579
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
580 latest_octave_done:
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
581 Pop \$R3
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
582 Pop \$R2
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
583 Pop \$R1
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
584 Exch \$R0
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
585 ; stack now has octave version on top
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
586 FunctionEnd
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
587 !macroend
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
588
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
589 !insertmacro GET_LATEST_OCTAVE ""
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
590 !insertmacro GET_LATEST_OCTAVE "un."
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
591
3362
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
592 ; Function to detect Windows version and abort if Octave is unsupported in the current platform
4120
f2d7bb7777da installer: dont warn on experimental for win10 (Bug #47576)
John Donoghue
parents: 4075
diff changeset
593 Function CheckWinVer
3362
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
594 Push \$0
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
595 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
596
4387
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
597 ; try read new way of getting version
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
598 ReadRegStr \$0 HKLM "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion" CurrentMajorVersionNumber
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
599 ; since is DWORD reg value, error will be set, however will be "" if no value read
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
600 StrCmp \$0 "" is_less_than_win10
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
601 ReadRegStr \$1 HKLM "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion" CurrentMinorVersionNumber
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
602 StrCmp \$1 "" is_less_than_win10
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
603
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
604 StrCpy \$0 "\$0.\$1"
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
605 Goto is_winnt
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
606
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
607 is_less_than_win10:
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
608 ClearErrors
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
609 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
610 IfErrors is_error is_winnt
4387
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
611
3362
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
612 is_winnt:
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
613 StrCpy \$1 \$0 1
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
614 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
615 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
616 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
617 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
618 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
619 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
620 StrCmp \$0 "6.2" is_winnt_8
4387
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
621 StrCmp \$0 "6.3" is_winnt_8 ; win 8.1
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
622 StrCmp \$0 "10.0" is_winnt_10
4120
f2d7bb7777da installer: dont warn on experimental for win10 (Bug #47576)
John Donoghue
parents: 4075
diff changeset
623 StrCmp \$1 6 is_winnt_10 ; Checking for future versions of Windows 10+
4387
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
624 StrCmp \$1 1 is_winnt_10 ; Checking for future versions of Windows 10+
3362
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
625 Goto is_error
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
626
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
627 is_winnt_XP:
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
628 is_winnt_2003:
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
629 is_winnt_vista:
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
630 is_winnt_7:
4120
f2d7bb7777da installer: dont warn on experimental for win10 (Bug #47576)
John Donoghue
parents: 4075
diff changeset
631 is_winnt_8:
4787
68deb4d4d928 nsis-installer: eliminate windows 10 warning
John W. Eaton <jwe@octave.org>
parents: 4786
diff changeset
632 is_winnt_10:
3362
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
633 Goto done
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
634 is_error:
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
635 StrCpy \$1 \$0
4387
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
636 ClearErrors
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
637 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
638 IfErrors 0 +4
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
639 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
640 IfErrors 0 +2
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
641 StrCpy \$0 "Unknown"
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
642 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
643 Abort
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
644 done:
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
645 Pop \$1
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
646 Pop \$0
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
647 FunctionEnd
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
648
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
649 ; 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
650 Function CheckCurrVersion
3358
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
651 Push \$0
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
652 ClearErrors
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
653 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
654 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
655 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
656 Abort
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
657 curr_check_ok:
4124
5ae69991eaa1 installer: detect win64/win32 java depending on octave 32/64 (Bug #47606)
John Donoghue
parents: 4121
diff changeset
658 pop \$0
3358
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
659 FunctionEnd
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
660
5168
e640a2d2ede0 * tools/makeinst-script.sh.in: update dest folder check to include check of characters that cause issues (Bug #49718)
John Donoghue
parents: 5135
diff changeset
661 ; Check whether prev install is here and no spaces or special chars in dest name
3728
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
662 Function CheckPrevInstallAndDest
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
663 IfFileExists "\$INSTDIR\\bin\\octave-cli.exe" inst_exists 0
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
664 IfFileExists "\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\octave-cli.exe" inst_exists inst_none
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
665 inst_exists:
4385
722693b132ad nsis installer: suppress warninga in silent mode
John D
parents: 4367
diff changeset
666 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?" /SD IDYES IDYES inst_none IDNO 0
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
667 Abort
3728
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
668 GoTo inst_end
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
669 inst_none:
3728
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
670
5168
e640a2d2ede0 * tools/makeinst-script.sh.in: update dest folder check to include check of characters that cause issues (Bug #49718)
John Donoghue
parents: 5135
diff changeset
671 ; check for spaces or spcial chars in dest filename
3728
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
672 Push \$R0
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
673 Push \$R1
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
674
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
675 StrCpy \$R1 0 # r1 = counter
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
676 space_loop:
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
677 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
678 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
679 StrCmp \$R0 " " space_found
5168
e640a2d2ede0 * tools/makeinst-script.sh.in: update dest folder check to include check of characters that cause issues (Bug #49718)
John Donoghue
parents: 5135
diff changeset
680 StrCmp \$R0 "(" space_found
e640a2d2ede0 * tools/makeinst-script.sh.in: update dest folder check to include check of characters that cause issues (Bug #49718)
John Donoghue
parents: 5135
diff changeset
681 StrCmp \$R0 ")" space_found
e640a2d2ede0 * tools/makeinst-script.sh.in: update dest folder check to include check of characters that cause issues (Bug #49718)
John Donoghue
parents: 5135
diff changeset
682 StrCmp \$R0 "&" space_found
e640a2d2ede0 * tools/makeinst-script.sh.in: update dest folder check to include check of characters that cause issues (Bug #49718)
John Donoghue
parents: 5135
diff changeset
683 StrCmp \$R0 "%" space_found
e640a2d2ede0 * tools/makeinst-script.sh.in: update dest folder check to include check of characters that cause issues (Bug #49718)
John Donoghue
parents: 5135
diff changeset
684 StrCmp \$R0 "^" space_found
3728
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
685 IntOp \$R1 \$R1 + 1
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
686 GoTo space_loop
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
687 space_found:
5168
e640a2d2ede0 * tools/makeinst-script.sh.in: update dest folder check to include check of characters that cause issues (Bug #49718)
John Donoghue
parents: 5135
diff changeset
688 MessageBox MB_OK|MB_ICONEXCLAMATION "Octave should not be installed to a destination folder containing &%()^ or spaces. Please select another destination."
3728
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
689 Abort
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
690 space_end:
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
691 Pop \$R1
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
692 Pop \$R0
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
693
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
694 inst_end:
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
695
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
696 FunctionEnd
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
697
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
698 ; 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
699 Function CheckJRE
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
700 ; looks in:
3359
40ae138b38a6 Removed checking of JRE locally
Anirudha Bose <ani07nov@gmail.com>
parents: 3358
diff changeset
701 ; 1 - JAVA_HOME environment variable
40ae138b38a6 Removed checking of JRE locally
Anirudha Bose <ani07nov@gmail.com>
parents: 3358
diff changeset
702 ; 2 - the registry
4124
5ae69991eaa1 installer: detect win64/win32 java depending on octave 32/64 (Bug #47606)
John Donoghue
parents: 4121
diff changeset
703 EOF
5ae69991eaa1 installer: detect win64/win32 java depending on octave 32/64 (Bug #47606)
John Donoghue
parents: 4121
diff changeset
704 cat >> $OUTFILE << EOF
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
705
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
706 Push \$R0
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
707 Push \$R1
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
708
4648
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
709 # get the version
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
710 ClearErrors
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
711 ReadEnvStr \$R1 "JAVA_VERSION"
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
712 StrCmp \$R1 "" 0 have_java_version
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
713 ClearErrors
4648
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
714 ReadRegStr \$R1 HKLM "SOFTWARE\\JavaSoft\\JRE" "CurrentVersion"
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
715 IfErrors 0 have_java_version
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
716 ReadRegStr \$R1 HKLM "SOFTWARE\\JavaSoft\\Java Runtime Environment" "CurrentVersion"
4648
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
717 IfErrors JRE_Error have_java_version
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
718
4648
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
719 have_java_version:
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
720 ClearErrors
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
721 ReadRegStr \$R0 HKLM "SOFTWARE\\JavaSoft\\JRE\\\$R1" "RuntimeLib"
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
722 IfErrors 0 have_java_runtime
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
723 ReadRegStr \$R0 HKLM "SOFTWARE\\JavaSoft\\Java Runtime Environment\\\$R1" "RuntimeLib"
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
724 IfErrors JRE_Error have_java_runtime
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
725
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
726 have_java_runtime:
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
727 # have runtime in R0 - check actual file is there
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
728 StrCmp \$R0 "" JRE_Error 0
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
729 ClearErrors
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
730 IfFileExists \$R0 continue JRE_Error
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
731
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
732 JRE_Error:
4385
722693b132ad nsis installer: suppress warninga in silent mode
John D
parents: 4367
diff changeset
733 MessageBox MB_ICONEXCLAMATION|MB_YESNO "Octave has the capability to call Java libraries, but the installer was unable to find a Java Runtime Environment (JRE) on this system. Octave will still function without a JRE, only certain specific functions will be disabled. If a JRE is installed later, Octave should be able to detect and use it automatically. Continue with installation?" /SD IDYES IDYES continue
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
734 Abort
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
735 continue:
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
736 Pop \$R1
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
737 Pop \$R0
4124
5ae69991eaa1 installer: detect win64/win32 java depending on octave 32/64 (Bug #47606)
John Donoghue
parents: 4121
diff changeset
738 EOF
5ae69991eaa1 installer: detect win64/win32 java depending on octave 32/64 (Bug #47606)
John Donoghue
parents: 4121
diff changeset
739 cat >> $OUTFILE << EOF
5ae69991eaa1 installer: detect win64/win32 java depending on octave 32/64 (Bug #47606)
John Donoghue
parents: 4121
diff changeset
740
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
741 FunctionEnd
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
742 EOF