annotate tools/makeinst-script.sh.in @ 5421:020bb2fcd3e2

tools/makeinst-script.in.h: Change message on uninstallation error (bug #58320). * tools/makeinst-script.in.h (un.onInit): Fix typo in message box. Slightly reword message in message box.
author Markus Mützel <markus.muetzel@gmx.de>
date Fri, 22 May 2020 12:12:46 +0200
parents ec1f5c04ca0b
children 100b42124b66
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
5347
4d6716dcec28 * tools/makeinst-script.sh.in: Install to ProgramFiles by default (bug #53124).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5303
diff changeset
35 if [ "@ENABLE_WINDOWS_64@" == "yes" ]; then
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
36 USE_PROGRAMFILES64=
5347
4d6716dcec28 * tools/makeinst-script.sh.in: Install to ProgramFiles by default (bug #53124).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5303
diff changeset
37 else
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
38 USE_PROGRAMFILES64=';'
5347
4d6716dcec28 * tools/makeinst-script.sh.in: Install to ProgramFiles by default (bug #53124).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5303
diff changeset
39 fi
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
40
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
41 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
42 DEFAULT_BLAS="OpenBLAS"
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
43 else
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
44 DEFAULT_BLAS="Reference BLAS"
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
45 fi
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
46
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
47 # 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
48 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
49
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
50 # extract version number
3384
0de28586712a installer: Change gui shortcut path to libexec installed path
John Donoghue <john.donoghue@ieee.org>
parents: 3367
diff changeset
51 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
52 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
53 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
54 INSTALLER_VERSION="$VERSION.0"
e839056b9a65 Allow building of unreleased stable branch (4.4.0x) (bug #54176).
Rik <rik@octave.org>
parents: 4725
diff changeset
55 else
e839056b9a65 Allow building of unreleased stable branch (4.4.0x) (bug #54176).
Rik <rik@octave.org>
parents: 4725
diff changeset
56 INSTALLER_VERSION=$VERSION
e839056b9a65 Allow building of unreleased stable branch (4.4.0x) (bug #54176).
Rik <rik@octave.org>
parents: 4725
diff changeset
57 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
58
3818
9b033c5323db nsis installer: expand uninstall information
John Donoghue
parents: 3817
diff changeset
59 # estimated size of installed files
9b033c5323db nsis installer: expand uninstall information
John Donoghue
parents: 3817
diff changeset
60 SIZE=`du -slk $OCTAVE_SOURCE | awk '{print \$1}'`
9b033c5323db nsis installer: expand uninstall information
John Donoghue
parents: 3817
diff changeset
61
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
62 # create installer script
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
63 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
64
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
65 # installer settings
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
66 cat >> $OUTFILE << EOF
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
67 !define APP_NAME "GNU Octave"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
68 !define COMP_NAME "GNU Project"
4650
1d9448607538 Use https in links whenever possible (Bug #53555).
Rik <rik@octave.org>
parents: 4648
diff changeset
69 !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
70 !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
71 !define OCTAVE_VERSION "$OCTAVE_VERSION"
5273
eafd9bf16bf4 * tools/makeinst-script.sh.in: update installer copyright (Bug #57617)
John Donoghue
parents: 5270
diff changeset
72 !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
73 !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
74 !define INSTALLER_FILES "$TOPDIR/installer-files"
4658
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4652
diff changeset
75 !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
76 !define MAIN_APP_EXE "octave-firsttime.vbs"
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
77 !define PRODUCT_ROOT_KEY "SHCTX"
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
78 !define PRODUCT_KEY "Software\\Octave-$VERSION"
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
79 !define PRODUCT_UNINST_KEY "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
80 !define PRODUCT_UNINST_ROOT_KEY "SHCTX"
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
81
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
82 ######################################################################
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
83
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
84 VIProductVersion "\${VERSION}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
85 VIAddVersionKey "ProductName" "\${APP_NAME}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
86 VIAddVersionKey "CompanyName" "\${COMP_NAME}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
87 VIAddVersionKey "LegalCopyright" "\${COPYRIGHT}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
88 VIAddVersionKey "FileDescription" "\${DESCRIPTION}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
89 VIAddVersionKey "FileVersion" "\${VERSION}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
90
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
91 ######################################################################
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
92
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
93 SetCompressor /SOLID Lzma
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
94 Name "\${APP_NAME}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
95 Caption "\${APP_NAME}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
96 OutFile "\${INSTALLER_NAME}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
97 BrandingText "\${APP_NAME}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
98 XPStyle on
5270
225fc4d8f598 * tools/makeinst-script.sh.in: make installer dpi aware
John Donoghue
parents: 5248
diff changeset
99 ManifestDPIAware true
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
100 ManifestSupportedOS all
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
101 Unicode true
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
102 RequestExecutionLevel user
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
103 # multiuser will modify this
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
104 InstallDir "\$PROGRAMFILES\\GNU Octave\\Octave-\${OCTAVE_VERSION}"
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
105 Icon "\${INSTALLER_FILES}/octave-logo.ico"
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
106
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
107 ######################################################################
3409
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
108 ; StrFunc usage
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
109 !include "StrFunc.nsh"
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
110 \${StrRep}
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
111 ######################################################################
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
112 ; Multi user
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
113 !define MULTIUSER_EXECUTIONLEVEL Highest
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
114 ;!define MULTIUSER_INSTALLMODE_DEFAULT_CURRENTUSER
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
115 !define MULTIUSER_INSTALLMODE_INSTDIR "GNU Octave\\Octave-\${OCTAVE_VERSION}"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
116 ${USE_PROGRAMFILES64}!define MULTIUSER_USE_PROGRAMFILES64
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
117 !define MULTIUSER_MUI
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
118 !define MULTIUSER_INSTALLMODE_COMMANDLINE
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
119 Var MultiUser.UninstallKey
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
120 Var MultiUser.Local
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
121 !include MultiUser.nsh
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
122 ######################################################################
3363
b89f15801606 Added Octave images in welcome page, headers, and finish page of installer.
Anirudha Bose <ani07nov@gmail.com>
parents: 3362
diff changeset
123 ; MUI settings
4608
dac40a0ff814 nsis: update for 64bit compile
John Donoghue
parents: 4602
diff changeset
124 !include "MUI2.nsh"
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
125
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
126 ; 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
127 !include nsDialogs.nsh
3471
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
128 !macro __DropList_GetCurSel CONTROL VAR
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
129 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
130 !macroend
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
131
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
132 !define DropList_GetCurSel \`!insertmacro __DropList_GetCurSel\`
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
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 ; 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
135 !include LogicLib.nsh
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
136 ; File funcs
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
137 !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
138
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
139 !define MUI_ABORTWARNING
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
140 !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
141 !define MUI_HEADERIMAGE
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
142
3363
b89f15801606 Added Octave images in welcome page, headers, and finish page of installer.
Anirudha Bose <ani07nov@gmail.com>
parents: 3362
diff changeset
143 ; Theme
b89f15801606 Added Octave images in welcome page, headers, and finish page of installer.
Anirudha Bose <ani07nov@gmail.com>
parents: 3362
diff changeset
144 !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
145 !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
146 !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
147 !define MUI_WELCOMEFINISHPAGE_BITMAP "\${INSTALLER_FILES}/octave.bmp"
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
148 !define MUI_UNWELCOMEFINISHPAGE_BITMAP "\${INSTALLER_FILES}/octave.bmp"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
149
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
150 ; Pages
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
151 !insertmacro MUI_PAGE_WELCOME
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
152
3360
cbaab92e1174 makeinst-script.sh: Removed 'I Agree' in GPL license page
Anirudha Bose <ani07nov@gmail.com>
parents: 3359
diff changeset
153 !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
154 !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
155 !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
156
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
157 !insertmacro MULTIUSER_PAGE_INSTALLMODE
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
158
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
159 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
160
3728
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
161 !define MUI_PAGE_CUSTOMFUNCTION_LEAVE CheckPrevInstallAndDest
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
162 !insertmacro MUI_PAGE_DIRECTORY
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
163
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
164 !insertmacro MUI_PAGE_INSTFILES
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
165
3757
7a6637aa3aae installer: ran octave through explorer when running at end of install (Bug 43824)
John Donoghue
parents: 3728
diff changeset
166 !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
167 !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
168 !define MUI_FINISHPAGE_SHOWREADME "\$INSTDIR\\README.html"
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
169 !insertmacro MUI_PAGE_FINISH
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
170
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
171 ; uninstaller
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
172 !insertmacro MUI_UNPAGE_CONFIRM
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
173
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
174 !insertmacro MUI_UNPAGE_INSTFILES
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
175
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
176 !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
177
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
178 !insertmacro MUI_LANGUAGE "English"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
179
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
180 ######################################################################
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
181
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
182 !macro DequoteString_ un
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
183 Function \${un}DequoteString_
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
184 ; just removed any '"' found
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
185 Exch \$R0 # r0 is now the string
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
186 Push \$R1
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
187 Push \$R2
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
188 Push \$R3
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
189
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
190 Strcpy \$R3 "" # dequoted value
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
191 StrCmp \$R0 "" \${un}dequote_end
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
192
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
193 StrCpy \$R1 0 # r1 = counter
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
194 \${un}dequote_loop:
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
195
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
196 StrCpy \$R2 \$R0 1 \$R1 # R2 = character in string to check
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
197 StrCmp \$R2 "" \${un}dequote_end # end of string
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
198 StrCmp \$R2 '"' \${un}dequote_next
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
199 # no quote
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
200 StrCpy \$R3 \$R3\$R2
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
201 \${un}dequote_next:
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
202 IntOp \$R1 \$R1 + 1
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
203 GoTo \${un}dequote_loop
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
204
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
205 \${un}dequote_end:
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
206 StrCpy \$R0 \$R3
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
207
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
208 Pop \$R3
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
209 Pop \$R2
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
210 Pop \$R1
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
211 Exch \$R0
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
212 FunctionEnd
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
213 !macroend
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
214
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
215 !insertmacro DequoteString_ "un."
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
216 !insertmacro DequoteString_ ""
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
217
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
218 !macro DequoteString un InStr OutVar
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
219 Push '\${InStr}'
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
220 Call \${un}DequoteString_
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
221 Pop '\${OutVar}'
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
222 !macroend
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
223 !define DequoteString '!insertmacro DequoteString ""'
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
224 !define un.DequoteString '!insertmacro DequoteString "un."'
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
225
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
226 ######################################################################
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
227 ; 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
228
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
229 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
230 Var InstallShortcutsCtrl
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
231 Var RegisterOctaveFileType
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
232 Var RegisterOctaveFileTypeCtrl
3471
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
233 Var InstallBlasLibCtrl
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
234 Var InstallBlasLib
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
235
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
236 Function octaveOptionsPage
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
237
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
238 # will append (Local) to reg key
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
239 \${If} \$MultiUser.InstallMode == "CurrentUser"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
240 StrCpy \$MultiUser.UninstallKey "\${PRODUCT_UNINST_KEY} (Local)"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
241 StrCpy \$MultiUser.Local " (Local)"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
242 \${Else}
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
243 StrCpy \$MultiUser.UninstallKey "\${PRODUCT_UNINST_KEY}"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
244 StrCpy \$MultiUser.Local ""
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
245 \${EndIf}
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
246
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
247 Call CheckCurrVersion
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
248
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
249 Push \$0
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
250 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
251 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
252
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
253 \${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
254 Abort
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
255 \${EndIf}
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
256
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
257 \${NSD_CreateCheckBox} 0 0 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
258 Pop \$InstallShortcutsCtrl
4786
0c6d7d14a615 * tools/makeinst-script.sh.in: Set default option page values (Bug #54457)
John Donoghue
parents: 4767
diff changeset
259 \${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
260
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
261 \${NSD_CreateCheckBox} 0 20u 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
262 Pop \$RegisterOctaveFileTypeCtrl
4786
0c6d7d14a615 * tools/makeinst-script.sh.in: Set default option page values (Bug #54457)
John Donoghue
parents: 4767
diff changeset
263 \${NSD_SetState} \$RegisterOctaveFileTypeCtrl \$RegisterOctaveFileType
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
264
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
265 \${NSD_CreateLabel} 0 50u 110u 12u "BLAS library implementation:"
3471
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
266 Pop \$0
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
267
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
268 \${NSD_CreateDropList} 100u 70u 100u 80u ""
3471
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
269 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
270 EOF
c21ca79d7980 Remove ENABLE_OPEN_BLAS from .mk files and use just to add openblass to the distribution
John Donoghue
parents: 3471
diff changeset
271 # 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
272 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
273 cat >> $OUTFILE << EOF
3471
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
274 \${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
275 EOF
c21ca79d7980 Remove ENABLE_OPEN_BLAS from .mk files and use just to add openblass to the distribution
John Donoghue
parents: 3471
diff changeset
276 fi
c21ca79d7980 Remove ENABLE_OPEN_BLAS from .mk files and use just to add openblass to the distribution
John Donoghue
parents: 3471
diff changeset
277 cat >> $OUTFILE << EOF
3570
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
278 \${NSD_CB_AddString} \$InstallBlasLibCtrl "Reference BLAS"
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
279 EOF
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
280
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
281 cat >> $OUTFILE << EOF
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
282 \${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
283
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
284 !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
285 nsDialogs::Show
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
286 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
287 FunctionEnd
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
288
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
289 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
290 \${NSD_GetState} \$InstallShortcutsCtrl \$InstallShortcuts
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
291 \${NSD_GetState} \$RegisterOctaveFileTypeCtrl \$RegisterOctaveFileType
3471
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
292 \${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
293 FunctionEnd
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
294
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
295 ######################################################################
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
296 Function un.onInit
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
297 !insertmacro MULTIUSER_UNINIT
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
298
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
299 # find installer info
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
300 Push \$R0
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
301 uninst_check_installs:
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
302 Call un.FindThisUninstallReg
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
303 Pop \$R0
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
304
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
305 # if 0 it couldnt find us
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
306 StrCmp \$R0 0 0 uninst_check_local
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
307
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
308 \${if} \$MultiUser.Privileges == "Admin"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
309 # if admin, maybe was forced to admin from Add Remove Apps
5421
020bb2fcd3e2 tools/makeinst-script.in.h: Change message on uninstallation error (bug #58320).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5420
diff changeset
310 MessageBox MB_ICONEXCLAMATION|MB_OK "Could not find uninstallation information in registry.\$\nTry running the uninstaller from the start menu or from the installation folder \$\"\$INSTDIR\$\"." /SD IDOK
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
311 \${Else}
5421
020bb2fcd3e2 tools/makeinst-script.in.h: Change message on uninstallation error (bug #58320).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5420
diff changeset
312 MessageBox MB_ICONEXCLAMATION|MB_OK "Could not find uninstallation information in registry for the program installed in \$\"\$INSTDIR\$\" for user \$\"\$(^Name)\$\".\$\nCan not uninstall!" /SD IDOK
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
313 \${EndIf}
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
314 Abort
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
315
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
316 uninst_check_local:
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
317 # if 1 was local only
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
318 StrCmp \$R0 1 0 uninst_set_admin
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
319
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
320 Call un.MultiUser.InstallMode.CurrentUser
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
321
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
322 GoTo uninst_cont_un
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
323
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
324 uninst_set_admin:
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
325 # if 2, was a allusers install
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
326 Call un.MultiUser.InstallMode.AllUsers
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
327
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
328 uninst_cont_un:
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
329
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
330 \${If} \$MultiUser.InstallMode == "CurrentUser"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
331 StrCpy \$MultiUser.UninstallKey "\${PRODUCT_UNINST_KEY} (Local)"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
332 StrCpy \$MultiUser.Local " (Local)"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
333 \${Else}
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
334 StrCpy \$MultiUser.UninstallKey "\${PRODUCT_UNINST_KEY}"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
335 StrCpy \$MultiUser.Local ""
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
336 \${EndIf}
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
337
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
338 Pop \$R0
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
339 FunctionEnd
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
340
3358
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
341 Function .onInit
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
342 !insertmacro MULTIUSER_INIT
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
343
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
344 # will append (Local) to reg key
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
345 \${If} \$MultiUser.InstallMode == "CurrentUser"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
346 StrCpy \$MultiUser.UninstallKey "\${PRODUCT_UNINST_KEY} (Local)"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
347 StrCpy \$MultiUser.Local " (Local)"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
348 \${Else}
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
349 StrCpy \$MultiUser.UninstallKey "\${PRODUCT_UNINST_KEY}"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
350 StrCpy \$MultiUser.Local ""
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
351 \${EndIf}
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
352
4786
0c6d7d14a615 * tools/makeinst-script.sh.in: Set default option page values (Bug #54457)
John Donoghue
parents: 4767
diff changeset
353 ; set default options
0c6d7d14a615 * tools/makeinst-script.sh.in: Set default option page values (Bug #54457)
John Donoghue
parents: 4767
diff changeset
354 StrCpy \$InstallShortcuts \${BST_CHECKED}
0c6d7d14a615 * tools/makeinst-script.sh.in: Set default option page values (Bug #54457)
John Donoghue
parents: 4767
diff changeset
355 StrCpy \$RegisterOctaveFileType \${BST_CHECKED}
0c6d7d14a615 * tools/makeinst-script.sh.in: Set default option page values (Bug #54457)
John Donoghue
parents: 4767
diff changeset
356 StrCpy \$InstallBlasLib 0
0c6d7d14a615 * tools/makeinst-script.sh.in: Set default option page values (Bug #54457)
John Donoghue
parents: 4767
diff changeset
357
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
358 ; process command line options
4845
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
359 \${GetParameters} \$R0
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
360 ClearErrors
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
361 \${GetOptions} "\$R0" "/REGISTER_FILE_TYPES=" \$0
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
362 IfErrors no_register_opt
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
363 \${If} \$0 == 0
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
364 StrCpy \$RegisterOctaveFileType \${BST_UNCHECKED}
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
365 \${EndIf}
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
366 no_register_opt:
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
367 ClearErrors
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
368 \${GetOptions} "\$R0" "/INSTALL_SHORTCUTS=" \$0
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
369 IfErrors no_shortcuts_opt
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
370 \${If} \$0 == 0
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
371 StrCpy \$InstallShortcuts \${BST_UNCHECKED}
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
372 \${EndIf}
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
373 no_shortcuts_opt:
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
374 ClearErrors
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
375
4120
f2d7bb7777da installer: dont warn on experimental for win10 (Bug #47576)
John Donoghue
parents: 4075
diff changeset
376 Call CheckWinVer
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
377 \${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
378 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
379 \${EndIf}
3358
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
380 InitPluginsDir
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
381 FunctionEnd
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
382
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
383 ; file section
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
384 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
385
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
386 ; 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
387 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
388 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
389
4767
a800e350d88b use .bat file for octave.exe/octave-version.exe (Bug #53938)
John Donoghue
parents: 4759
diff changeset
390 ; 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
391 SetOutPath "\$INSTDIR"
3817
6daa158a7018 nsis installer: use octave.vbs as laucher (Bug #41074)
John Donoghue <john.donoghue@ieee.org>
parents: 3784
diff changeset
392 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
393 File "$OCTAVE_SOURCE/octave-firsttime.vbs"
4254
7f2d5c8c4491 installer: update fc cache during install (Bug #45458)
John D
parents: 4186
diff changeset
394 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
395 File "$OCTAVE_SOURCE/post-install.bat"
4254
7f2d5c8c4491 installer: update fc cache during install (Bug #45458)
John D
parents: 4186
diff changeset
396
4602
a487b12dc08f * tools/makeinst-script.sh.in: include HG-ID in installed files
John Donoghue
parents: 4471
diff changeset
397 File "$OCTAVE_SOURCE/HG-ID"
a487b12dc08f * tools/makeinst-script.sh.in: include HG-ID in installed files
John Donoghue
parents: 4471
diff changeset
398
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
399 ; distro files
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
400 EOF
3963
9d402d735dd1 nsis-installer: add bash window menu if devel tools enabled
John Donoghue
parents: 3956
diff changeset
401 if [ -f $OCTAVE_SOURCE/cmdshell.bat ]; then
9d402d735dd1 nsis-installer: add bash window menu if devel tools enabled
John Donoghue
parents: 3956
diff changeset
402 echo "File '$OCTAVE_SOURCE/cmdshell.bat'" >> $OUTFILE
9d402d735dd1 nsis-installer: add bash window menu if devel tools enabled
John Donoghue
parents: 3956
diff changeset
403 fi
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
404
4254
7f2d5c8c4491 installer: update fc cache during install (Bug #45458)
John D
parents: 4186
diff changeset
405
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
406 # insert the files
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
407 IFS=$'\n'
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
408 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
409 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
410 echo " CreateDirectory \"\$INSTDIR\\$winf\"" >> $OUTFILE
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
411 echo " SetOutPath \"\$INSTDIR\\$winf\"" >> $OUTFILE
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
412 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
413 done
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
414
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
415 cat >> $OUTFILE << EOF
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
416
3409
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
417 ; add qt.conf
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
418 Push \$0
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
419 \${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
420 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
421 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
422 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
423 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
424 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
425 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
426 Pop \$0
4254
7f2d5c8c4491 installer: update fc cache during install (Bug #45458)
John D
parents: 4186
diff changeset
427
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
428 ; run post-install script
4258
a45374f7d9a3 Use 8.3 format for octave path
John D
parents: 4255
diff changeset
429 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
430 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
431 ; run in hidden console window
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
432 nsExec::Exec /TIMEOUT=90000 '"\$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
433 Pop \$0
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
434 SectionEnd
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
435
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
436 Section make_uninstaller
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
437 ; Write the uninstall keys for Windows
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
438 SetOutPath "\$INSTDIR"
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
439 WriteRegStr \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey" "DisplayName" "Octave $VERSION\$MultiUser.Local"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
440 WriteRegStr \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey" "DisplayVersion" "$VERSION"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
441 WriteRegStr \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey" "DisplayIcon" "\$INSTDIR\\$ICON"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
442 WriteRegStr \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey" "UninstallString" "\$\"\$INSTDIR\\uninstall.exe\$\" /\$MultiUser.InstallMode"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
443 WriteRegStr \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey" "QuietUninstallString" "\$\"\$INSTDIR\\uninstall.exe\$\" /\$MultiUser.InstallMode /S"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
444 WriteRegDWORD \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey" "NoModify" 1
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
445 WriteRegDWORD \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey" "NoRepair" 1
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
446 WriteRegStr \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey" "Publisher" "\${APP_NAME}"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
447 WriteRegDWORD \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey" "EstimatedSize" $SIZE
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
448 WriteRegStr \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey" "InstallMode" "\$MultiUser.InstallMode"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
449 WriteRegStr \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey" "InstallLocation" "\$INSTDIR"
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
450 WriteUninstaller "uninstall.exe"
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
451 SectionEnd
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
452
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
453 ; start menu (currently hardcoded)
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
454 Section "Shortcuts"
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
455
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
456 # will append (Local) to menus in local mode
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
457 CreateDirectory "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
458 CreateShortCut "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\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
459 SetOutPath "%USERPROFILE%"
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
460 CreateShortCut "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\Octave-$VERSION\$MultiUser.Local (CLI).lnk" "%SYSTEMROOT%\\system32\\wscript.exe" "\$\\"\$INSTDIR\\octave.vbs\$\\" --no-gui" "\$INSTDIR\\$ICON" 0 SW_SHOWMINIMIZED
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
461 CreateShortCut "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\Octave-$VERSION\$MultiUser.Local (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
462 SetOutPath "\$INSTDIR"
4176
a543952ed731 set usermodelappid for octave-gui shortcut (Bug #47527)
John Donoghue
parents: 4173
diff changeset
463
a543952ed731 set usermodelappid for octave-gui shortcut (Bug #47527)
John Donoghue
parents: 4173
diff changeset
464 ; 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
465 ; run in hidden console window
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
466 nsExec::Exec /TIMEOUT=30000 '"\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\win7appid.exe" "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\Octave-$VERSION\$MultiUser.Local (GUI).lnk" "gnu.octave.$VERSION"'
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
467 Pop \$0
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
468 EOF
3963
9d402d735dd1 nsis-installer: add bash window menu if devel tools enabled
John Donoghue
parents: 3956
diff changeset
469 # shortcut for cmd win
9d402d735dd1 nsis-installer: add bash window menu if devel tools enabled
John Donoghue
parents: 3956
diff changeset
470 if [ -f $OCTAVE_SOURCE/cmdshell.bat ]; then
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
471 echo "CreateShortCut '\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\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
472 fi
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
473 # 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
474 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
475 cat >> $OUTFILE << EOF
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
476 CreateDirectory "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\Documentation"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
477 CreateShortCut "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\Documentation\\Octave C++ Classes (PDF).lnk" "\$INSTDIR\\$OCTAVE_SUBDIR\\share\\doc\\octave\\liboctave.pdf" "" "" 0
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
478 CreateShortCut "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\Documentation\\Octave C++ Classes (HTML).lnk" "\$INSTDIR\\$OCTAVE_SUBDIR\\share\\doc\\octave\\liboctave.html\\index.html" "" "" 0
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
479 CreateShortCut "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\Documentation\\Octave (PDF).lnk" "\$INSTDIR\\$OCTAVE_SUBDIR\\share\\doc\\octave\\octave.pdf" "" "" 0
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
480 CreateShortCut "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\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
481 EOF
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
482 fi
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
483
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
484 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
485
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
486 \${If} \$InstallShortcuts == \${BST_CHECKED}
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
487
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
488 ; get latest octave and create shortcuts to it
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
489 Push \$R0
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
490 Push \$R1
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
491 Push \$R2
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
492
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
493 Call GetLatestOctave
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
494 Pop \$R1 ; Ver
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 ; 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
497 StrCmp \$R1 "" set_ver_str
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
498
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
499 ClearErrors
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
500 ; valid install found - get info from registry
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
501 ReadRegStr \$R0 SHCTX "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-\$R1" InstallLocation"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
502 IfErrors sc_no_install_path
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
503 StrCmp \$R0 "" sc_no_install_path sc_install_path
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
504 sc_no_install_path:
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
505 # make dir from installer path
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
506 ReadRegStr \$R0 SHCTX "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-\$R1" "UninstallString"
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
507 \${GetParent} \$R0 \$R0
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
508
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
509 sc_install_path:
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
510
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
511 # remove any '"' in our path
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
512 \${DequoteString} \$R0 \$R0
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
513
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
514 ReadRegStr \$R2 SHCTX "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-\$R1" "DisplayIcon"
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
515 GoTo have_ver_str
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
516 set_ver_str:
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
517 StrCpy \$R1 "$VERSION"
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
518 StrCpy \$R0 "\$INSTDIR"
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
519 StrCpy \$R2 "\$INSTDIR\\$ICON"
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
520
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
521 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
522 SetOutPath "%USERPROFILE%"
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
523 CreateShortCut "\$desktop\\GNU Octave\$MultiUser.Local (CLI).lnk" "%SYSTEMROOT%\\system32\\wscript.exe" "\$\\"\$R0\\octave.vbs\$\\" --no-gui" "\$R2" 0 SW_SHOWMINIMIZED
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
524 CreateShortCut "\$desktop\\GNU Octave\$MultiUser.Local (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
525
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
526 nsExec::Exec /TIMEOUT=30000 '"\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\win7appid.exe" "\$desktop\\GNU Octave\$MultiUser.Local (GUI).lnk" "gnu.octave.\$R1"'
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
527 Pop \$0
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
528
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
529 Pop \$R2
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
530 Pop \$R1
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
531 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
532 \${Endif}
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
533
3471
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
534 ; BLAS set up
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
535 \${If} \$InstallBlasLib == 1
3570
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
536 ; Reference BLAS
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
537 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
538 \${Else}
3471
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
539 ; OpenBLAS
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
540 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
541 \${EndIf}
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
542
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
543 SectionEnd
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
544
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
545 Section "FileTypeRego"
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
546
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
547 WriteRegStr SHCTX "Software\\Classes\\Octave.Document.$VERSION" "FriendlyAppName" "GNU Octave $VERSION"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
548 WriteRegStr SHCTX "Software\\Classes\\Octave.Document.$VERSION\\DefaultIcon" "" "\$INSTDIR\\$ICON"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
549 WriteRegStr SHCTX "Software\\Classes\\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
550
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
551 \${If} \$RegisterOctaveFileType == \${BST_CHECKED}
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
552
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
553 ReadRegStr \$0 SHCTX "Software\\Classes\\.m" ""
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
554 StrCmp "\$0" "" ctx_no_back_type
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
555 WriteRegStr SHCTX "Software\\Classes\\.m" "backup_val" "\$0"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
556 ctx_no_back_type:
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
557 WriteRegStr SHCTX "Software\\Classes\\.m" "" "Octave.Document.$VERSION"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
558
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
559 WriteRegDWORD \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey" "RegisteredFileType" 1
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
560 \${EndIf}
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
561
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
562 SectionEnd
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
563
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
564 Section "Uninstall"
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
565
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
566 ReadRegDWORD \$0 \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey" "RegisteredFileType"
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
567 IfErrors not_registered_file
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
568
4255
ee1ae5d1fd88 installer: dont remove file association if is not for installed octave
John D
parents: 4254
diff changeset
569 ; only try remove if is set to our version of octave
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
570 ReadRegStr \$0 SHCTX "Software\\Classes\\.m" ""
4255
ee1ae5d1fd88 installer: dont remove file association if is not for installed octave
John D
parents: 4254
diff changeset
571 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
572
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
573 ReadRegStr \$0 SHCTX "Software\\Classes\\.m" "backup_val"
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
574 IfErrors not_backup_file
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
575
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
576 # retore backup
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
577 WriteRegStr SHCTX "Software\\Classes\\.m" "" "\$0"
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
578
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
579 DeleteRegValue SHCTX "Software\\Classes\\.m" "backup_val"
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
580
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
581 ; dont delete .m if just restored backup
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
582 Goto not_registered_file
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
583 not_backup_file:
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
584 DeleteRegValue SHCTX "Software\\Classes" ".m"
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
585
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
586 not_registered_file:
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
587
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
588 DeleteRegKey SHCTX "Software\\Classes\\Octave.Document.$VERSION"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
589 DeleteRegKey \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey"
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
590
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
591 ; Remove shortcuts
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
592 Delete "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\Documentation\\*.*"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
593 RMDir "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\Documentation"
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
594
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
595 Delete "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\*.*"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
596 RMDir "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local"
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
597
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
598 ; 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
599
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
600 Push \$R0
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
601 Push \$R1
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
602 Push \$R2
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
603
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
604 Call un.GetLatestOctave
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
605 Pop \$R1 ; Ver
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
606
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
607 ; no installs detected - remove shortcuts
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
608 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
609
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
610 ClearErrors
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
611 ; if install detected, get the path and icon
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
612 ReadRegStr \$R0 SHCTX "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-\$R1" "InstallLocation"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
613 IfErrors no_install_path
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
614 StrCmp \$R0 "" no_install_path install_path
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
615 no_install_path:
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
616 # old installers uninstall string was just the name of the installer, so try make path from that
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
617 ReadRegStr \$R0 SHCTX "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-\$R1" "UninstallString"
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
618 \${GetParent} \$R0 \$R0
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
619 install_path:
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
620 ClearErrors
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
621
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
622 # remove any '"' in our path
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
623 \${un.DequoteString} \$R0 \$R0
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
624
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
625 StrCmp \$R0 "" remove_desktop_shortcuts
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
626
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
627 ReadRegStr \$R2 SHCTX "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-\$R1" "DisplayIcon"
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
628
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
629 IfFileExists "\$desktop\\GNU Octave\$MultiUser.Local (CLI).lnk" 0 check_gui_shortcut
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
630 SetOutPath "%USERPROFILE%"
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
631 CreateShortCut "\$desktop\\GNU Octave\$MultiUser.Local (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
632
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
633 check_gui_shortcut:
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
634 IfFileExists "\$desktop\\GNU Octave\$MultiUser.Local (GUI).lnk" 0 done_remove_desktop_shortcuts
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
635 SetOutPath "%USERPROFILE%"
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
636 CreateShortCut "\$desktop\\GNU Octave\$MultiUser.Local (GUI).lnk" "%SYSTEMROOT%\system32\wscript.exe" "\$\\"\$R0\\octave.vbs\$\\" --gui" "\$R2" 0 SW_SHOWMINIMIZED
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
637 nsExec::Exec /TIMEOUT=30000 '"\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\win7appid.exe" "\$desktop\\GNU Octave\$MultiUser.Local (GUI).lnk" "gnu.octave.\$R1"'
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
638 Pop \$0
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
639
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
640 GoTo done_remove_desktop_shortcuts
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
641
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
642 remove_desktop_shortcuts:
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
643 Delete "\$desktop\\GNU Octave\$MultiUser.Local (CLI).lnk"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
644 Delete "\$desktop\\GNU Octave\$MultiUser.Local (GUI).lnk"
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
645
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
646 done_remove_desktop_shortcuts:
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
647 Pop \$R2
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
648 Pop \$R1
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
649 Pop \$R0
3409
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
650
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
651 ; 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
652 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
653 EOF
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
654
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
655 # 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
656 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
657 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
658 echo " Delete \"\$INSTDIR\\$winf\\*.*\"" >> $OUTFILE
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
659 echo " RmDir \"\$INSTDIR\\$winf\"" >> $OUTFILE
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
660 done
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
661
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
662 # last bit of the uninstaller
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
663 cat >> $OUTFILE << EOF
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
664
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
665 Delete "\$INSTDIR\\uninstall.exe"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
666
3409
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
667 Delete "\$INSTDIR\\*.*"
4725
12bfaba26c8d * tools/makeinst-script.sh.in: clear erros before doing RMDir INSTDIR
John Donoghue
parents: 4658
diff changeset
668 ClearErrors
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
669 RmDir "\$INSTDIR"
3954
14ad478dc07b Installer: prompt to unstill additional files (Bug #45188)
John D
parents: 3831
diff changeset
670
14ad478dc07b Installer: prompt to unstill additional files (Bug #45188)
John D
parents: 3831
diff changeset
671 ; 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
672 IfErrors 0 uninstall_done
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
673 ClearErrors
4385
722693b132ad nsis installer: suppress warninga in silent mode
John D
parents: 4367
diff changeset
674 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
675 RMDir /r "\$INSTDIR"
3956
125325a2a2c4 nsis-installer: delete remaining files in reboot
John D
parents: 3954
diff changeset
676
125325a2a2c4 nsis-installer: delete remaining files in reboot
John D
parents: 3954
diff changeset
677 IfErrors 0 uninstall_done
4385
722693b132ad nsis installer: suppress warninga in silent mode
John D
parents: 4367
diff changeset
678 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
679 RMDir /r /REBOOTOK "\$INSTDIR"
3954
14ad478dc07b Installer: prompt to unstill additional files (Bug #45188)
John D
parents: 3831
diff changeset
680 uninstall_done:
14ad478dc07b Installer: prompt to unstill additional files (Bug #45188)
John D
parents: 3831
diff changeset
681
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
682 SectionEnd
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
683
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
684 ; function to get latest version of octave installed
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
685 !macro GET_LATEST_OCTAVE un
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
686 Function \${un}GetLatestOctave
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
687 Push \$R0
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
688 Push \$R1
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
689 Push \$R2
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
690 Push \$R3
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
691
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
692 StrCpy \$R0 ""
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
693 StrCpy \$R1 0
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
694
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
695 ; loop through installed programs to find octave installs
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
696 \${un}octave_ver_loop:
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
697 EnumRegKey \$R2 \${PRODUCT_UNINST_ROOT_KEY} "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\" \$R1
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
698 StrCmp \$R2 "" \${un}latest_octave_done
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
699
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
700 ; len(octave) = 6
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
701 StrCpy \$R3 \$R2 6
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
702 StrCmp \$R3 "Octave" 0 \${un}next_ver_loop
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
703
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
704 ; to verify the install check with the installer exists have uninstaller
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
705 # TODO
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
706 #ReadRegStr \$R3 \${PRODUCT_UNINST_ROOT_KEY} "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\\$R2" "UninstallString"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
707 #ifFileExists \$R3 0 \${un}next_ver_loop
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
708
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
709 # if uninstalling dont count ourselves
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
710 \${If} "\${un}" == "un."
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
711 StrCmp \$R2 "Octave-$VERSION\$MultiUser.Local" \${un}skip_ver_set
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
712 ; grab version part of octave
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
713 StrCpy \$R0 \$R2 "" 7
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
714 \${un}skip_ver_set:
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
715
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
716 \${Else}
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
717 ; grab version part of octave
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
718 StrCpy \$R0 \$R2 "" 7
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
719 \${EndIf}
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
720
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
721 \${un}next_ver_loop:
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
722 IntOp \$R1 \$R1 + 1
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
723 GoTo \${un}octave_ver_loop
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
724
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
725 \${un}latest_octave_done:
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
726 Pop \$R3
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
727 Pop \$R2
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
728 Pop \$R1
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
729 Exch \$R0
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
730 ; stack now has octave version on top
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
731 FunctionEnd
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
732 !macroend
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
733
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
734 !insertmacro GET_LATEST_OCTAVE ""
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
735 !insertmacro GET_LATEST_OCTAVE "un."
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
736
3362
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
737 ; 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
738 Function CheckWinVer
3362
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
739 Push \$0
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
740 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
741
4387
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
742 ; try read new way of getting version
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
743 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
744 ; 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
745 StrCmp \$0 "" is_less_than_win10
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
746 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
747 StrCmp \$1 "" is_less_than_win10
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
748
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
749 StrCpy \$0 "\$0.\$1"
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
750 Goto is_winnt
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
751
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
752 is_less_than_win10:
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
753 ClearErrors
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
754 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
755 IfErrors is_error is_winnt
4387
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
756
3362
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
757 is_winnt:
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
758 StrCpy \$1 \$0 1
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
759 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
760 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
761 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
762 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
763 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
764 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
765 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
766 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
767 StrCmp \$0 "10.0" is_winnt_10
4120
f2d7bb7777da installer: dont warn on experimental for win10 (Bug #47576)
John Donoghue
parents: 4075
diff changeset
768 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
769 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
770 Goto is_error
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
771
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
772 is_winnt_XP:
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
773 is_winnt_2003:
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
774 is_winnt_vista:
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
775 is_winnt_7:
4120
f2d7bb7777da installer: dont warn on experimental for win10 (Bug #47576)
John Donoghue
parents: 4075
diff changeset
776 is_winnt_8:
4787
68deb4d4d928 nsis-installer: eliminate windows 10 warning
John W. Eaton <jwe@octave.org>
parents: 4786
diff changeset
777 is_winnt_10:
3362
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
778 Goto done
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
779 is_error:
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
780 StrCpy \$1 \$0
4387
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
781 ClearErrors
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
782 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
783 IfErrors 0 +4
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
784 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
785 IfErrors 0 +2
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
786 StrCpy \$0 "Unknown"
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
787 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
788 Abort
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
789 done:
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
790 Pop \$1
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
791 Pop \$0
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
792 FunctionEnd
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
793
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
794 ; 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
795 Function CheckCurrVersion
3358
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
796 Push \$0
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
797 ClearErrors
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
798 ReadRegStr \$0 \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey" "DisplayName"
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
799 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
800 MessageBox MB_OK|MB_ICONSTOP "Another Octave installation (with the same version) has been detected. Please uninstall it first."
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
801 Quit
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
802 curr_check_ok:
4124
5ae69991eaa1 installer: detect win64/win32 java depending on octave 32/64 (Bug #47606)
John Donoghue
parents: 4121
diff changeset
803 pop \$0
3358
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
804 FunctionEnd
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
805
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
806 ; 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
807 Function CheckPrevInstallAndDest
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
808 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
809 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
810 inst_exists:
4385
722693b132ad nsis installer: suppress warninga in silent mode
John D
parents: 4367
diff changeset
811 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
812 Abort
3728
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
813 GoTo inst_end
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
814 inst_none:
3728
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
815
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
816 ; 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
817 Push \$R0
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
818 Push \$R1
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
819
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
820 StrCpy \$R1 0 # r1 = counter
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
821 space_loop:
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
822 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
823 StrCmp \$R0 "" space_end # end of string
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
824 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
825 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
826 StrCmp \$R0 "^" space_found
3728
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
827 IntOp \$R1 \$R1 + 1
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
828 GoTo space_loop
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
829 space_found:
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
830 MessageBox MB_OK|MB_ICONEXCLAMATION "Octave should not be installed to a destination folder containing &%()^. Please select another destination."
3728
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
831 Abort
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
832 space_end:
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
833 Pop \$R1
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
834 Pop \$R0
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
835
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
836 inst_end:
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
837
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
838 FunctionEnd
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
839
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
840 ; 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
841 Function CheckJRE
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
842 ; looks in:
3359
40ae138b38a6 Removed checking of JRE locally
Anirudha Bose <ani07nov@gmail.com>
parents: 3358
diff changeset
843 ; 1 - JAVA_HOME environment variable
40ae138b38a6 Removed checking of JRE locally
Anirudha Bose <ani07nov@gmail.com>
parents: 3358
diff changeset
844 ; 2 - the registry
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
845
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
846 Push \$R0
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
847 Push \$R1
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
848
4648
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
849 # get the version
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
850 ClearErrors
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
851 ReadEnvStr \$R1 "JAVA_VERSION"
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
852 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
853 ClearErrors
4648
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
854 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
855 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
856 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
857 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
858
4648
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
859 have_java_version:
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
860 ClearErrors
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
861 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
862 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
863 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
864 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
865
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
866 have_java_runtime:
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
867 # 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
868 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
869 ClearErrors
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
870 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
871
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
872 JRE_Error:
4385
722693b132ad nsis installer: suppress warninga in silent mode
John D
parents: 4367
diff changeset
873 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
874 Abort
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
875 continue:
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
876 Pop \$R1
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
877 Pop \$R0
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
878 FunctionEnd
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
879
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
880 Function un.FindThisUninstallReg
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
881 # look to find where we were installed for this particular version and then return
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
882 # 0 no install found (shouldnt happen)
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
883 # 1 local install was found
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
884 # 2 allusers install was found
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
885 Push \$R0
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
886 Push \$R1
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
887
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
888 StrCpy \$R0 0
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
889
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
890 find_check_reg_hkcu:
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
891 # check for local installs
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
892 ReadRegStr \$R1 HKCU "\${PRODUCT_UNINST_KEY} (Local)" "InstallLocation"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
893 StrCmp \$R1 "" 0 find_have_reg_hkcu
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
894
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
895 ReadRegStr \$R1 HKCU "\${PRODUCT_UNINST_KEY} (Local)" "UninstallString"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
896 StrCmp \$R1 "" find_check_reg_hklm 0
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
897
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
898 \${GetParent} \$R1 \$R1
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
899
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
900 find_have_reg_hkcu:
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
901 \${un.DequoteString} \$R1 \$R1
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
902
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
903 # is this the match ?
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
904 StrCmp \$R1 "\$INSTDIR" 0 find_check_reg_hklm
4124
5ae69991eaa1 installer: detect win64/win32 java depending on octave 32/64 (Bug #47606)
John Donoghue
parents: 4121
diff changeset
905
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
906 StrCpy \$R0 1
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
907 GoTo find_check_reg_done
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
908 find_check_reg_hklm:
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
909 # check for all installs
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
910 ReadRegStr \$R1 HKLM "\${PRODUCT_UNINST_KEY}" "InstallLocation"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
911 StrCmp \$R1 "" 0 find_have_reg_hklm
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
912
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
913 ReadRegStr \$R1 HKLM "\${PRODUCT_UNINST_KEY}" "UninstallString"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
914 StrCmp \$R1 "" find_check_reg_done 0
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
915
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
916 \${GetParent} \$R1 \$R1
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
917
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
918 find_have_reg_hklm:
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
919 \${un.DequoteString} \$R1 \$R1
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
920
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
921 # is this the match ?
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
922 StrCmp \$R1 "\$INSTDIR" 0 find_check_reg_done
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
923
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
924 StrCpy \$R0 2
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
925
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
926 find_check_reg_done:
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
927 Pop \$R1
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
928 # restore r0, but result on stack
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
929 Exch \$R0
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
930 FunctionEnd
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
931
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
932 EOF